« 将你的JDBC数据库连接好安装SQLServer挂起的解决方法 »

FCKeditor & FCKeditor.java & fck-faces 终级攻略

版本:
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

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新留言

最近发表

Powered By 山东花网

Copyright 2006 blog.shandongflower.com Rights Reserved.