版本:
FCKeditor_2.4.2.zip FCK编辑器
FCKeditor-2.3.zip 用于跟JAVA集成的JAR包
fck-faces-1.7.26.jar 用于跟JSF集成的JAR包
也可以下载附件中的 fck-faces.jar,此JAR包集成了 FCKeditor-2.3.zip 和 fck-faces-1.7.26.jar,
且已修正所有已知BUG。
假设“FCKeditor”目录放置于WEB根目录下。
声明:如果不将“FCKeditor”目录放置于WEB根目录下,将要修改更多fck-faces-1.7.26.jar源码。
1.修改“/FCKeditor/fckeditor.js”
将其中:
this.BasePath = '/fckeditor/' ;
改为:
this.BasePath = '/FCKeditor/' ;
2.修改“/FCKeditor/fckconfig.js”
将其中:
var _FileBrowserLanguage = 'asp' ;
var _QuickUploadLanguage = 'asp' ;
改为:
var _FileBrowserLanguage = 'jsp' ;
var _QuickUploadLanguage = 'jsp' ;
3.修改FCKeditor-2.3.zip源码:
在SimpleUploaderServlet.java的约第113行附近,加入下面代码,避免构建null路径
if (typeStr==null || typeStr.trim().equals("")) typeStr = "File";
(这个是仿照fckeditor在upload.php,upload.asp等源码来修改的)
4.修改fck-faces-1.7.26.jar源码,在Servlet.java中加入如下代码:
(此代码解决了上传文件无响应的问题)
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
5.修改fck-faces-1.7.26.jar源码,在FCKFaceEditorTag.java中加入处理编辑器宽和高的代码:
修改下面方法
protected void setProperties(UIComponent component) {
super.setProperties(component);
Tags.setString(component, "toolbarSet", toolbarSet);
}
为:
protected void setProperties(UIComponent component) {
super.setProperties(component);
Tags.setString(component, "toolbarSet", toolbarSet);
Tags.setString(component, "height", height);
Tags.setString(component, "width", width);
}
相应的,你还需要修改 org.fckfaces.component.html.FCKFaceEditor的saveState(FacesContext context)和restoreState(FacesContext context, Object state)方法,来保存和恢复宽和高的属性。
public Object saveState(FacesContext context) {
Object values[] = new Object[4];
values[0] = super.saveState(context);
values[1] = height;
values[2] = width;
values[3] = toolbarSet;
return ((Object) (values));
}
public void restoreState(FacesContext context, Object state) {
Object values[] = (Object[])(Object[])state;
super.restoreState(context, values[0]);
System.out.println(values.length);
height = (String)values[1];
width = (String)values[2];
toolbarSet = (String)values[3];
}
6.web.xml中的配置
<!-- FCK Editor -->
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>
com.fredck.FCKeditor.connector.ConnectorServlet
</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/upload/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>SimpleUploader</servlet-name>
<servlet-class>
com.fredck.FCKeditor.uploader.SimpleUploaderServlet
</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/upload/</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>enabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFile</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFile</param-name>
<param-value>
html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis
</param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsImage</param-name>
<param-value>jpg|gif|jpeg|png|bmp</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsImage</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>AllowedExtensionsFlash</param-name>
<param-value>swf|fla</param-value>
</init-param>
<init-param>
<param-name>DeniedExtensionsFlash</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>
/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector.jsp
</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>
/FCKeditor/editor/filemanager/upload/jsp/upload.jsp
</url-pattern>
</servlet-mapping>
<!-- FCK faces -->
<!-- 如果FCKeditor放到WEB“/”目录,则一般不会使用此项
<context-param>
<param-name>org.fckfaces.CUSTOM_CONFIGURATIONS_PATH</param-name>
<param-value>/inc/fckconfig.js</param-value>
</context-param>
-->
<servlet>
<servlet-name>FCK Faces Servlet</servlet-name>
<servlet-class>org.fckfaces.util.Servlet</servlet-class>
<init-param>
<description>
Allows to specify the path of the FCKeditor resources
</description>
<param-name>customResourcePath</param-name>
<param-value>/</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FCK Faces Servlet</servlet-name>
<url-pattern>/fckfaces/*</url-pattern>
<!-- /fckfaces 与 fck-faces 源码中 Util.java 类中的配置相对应 -->
</servlet-mapping>
7.本博其它FCKeditor资源
http://lingoosoft.blog.ccidnet.com/blog/ccid/do_showone/tid_107320.html
http://lingoosoft.blog.ccidnet.com/blog/ccid/do_showone/tid_107323.html
http://lingoosoft.blog.ccidnet.com/blog/ccid/do_showone/tid_121211.html