网上有很多关于FCKEitor for java的使用介绍文章,不过版本都是以前的了,跟目前最新的版本不符,我只好自己摸索。
使用最新版V2.6.2,fckeditor-java-2.4-bin。看很多介绍文章看的头疼,后来我下了个fckeditor-java-demo-2.4.war,直接参照结合源码fckeditor-java-2.4-src改了来用,也不用自己过多的配置。
第一步、使用tomcatPlugin在eclipse中建个web项目fck,拷贝commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,slf4j-api-1.5.2.jar,slf4j-simple-1.5.2.jar(可以去demo中找),到/WEB-INF/lib中。
第二步、其他的文件参照demo里的直接拷了过来。项目目录截图如下:(阴影部分都是从demo中复制的)
第三步、主要是三个资源文件和一个tld文件:
复制源码包中fckeditor-java-2.4/java-core/src/main/java下的两个源码文件夹:net和org到项目src中,复制fckeditor-java-2.4/java-core/src/main/resources/net/fckeditor/handlers下的default.properties到包net.fckeditor.handlers中。
复制demo文件夹WEB-INF/classes下的fckeditor.properties和log4j.properties到src目录中。注意:知道包的概念的话,应该不会把net和org文件夹搞错的吧?
去demo中的java-core-2.4.jar找到并复制FCKeditor.tld到WEB-INF/tlds/中,然后按下面配置
1、demo中的web.xml需要修改头部的声明,全部内容如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- 1.这里的命名空间需要修改 -->
- <web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <display-name>FCKeditor.Java Sample Web Application</display-name>
- <description>FCKeditor.Java Sample Web Application</description>
- <servlet>
- <servlet-name>Connector</servlet-name>
- <servlet-class>
- net.fckeditor.connector.ConnectorServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>Connector</servlet-name>
- <url-pattern>
- /fckeditor/editor/filemanager/connectors/*
- </url-pattern>
- </servlet-mapping>
- <!-- 2.这里需要修改为jsp-config标签,两次修改才符合tomcat6.0 的要求,旧版就不用了 -->
- <jsp-config>
- <taglib>
- <taglib-uri>http://java.fckeditor.net</taglib-uri>
- <taglib-location>/WEB-INF/tlds/FCKeditor.tld</taglib-location>
- </taglib>
- </jsp-config>
- </web-app>
好了,基本配置就是这样了。启动tomcat,浏览http://localhost/fck/,就可以看到界面了。
注:我是先做成功才写的这篇笔记,生怕自己写漏了哪些部分,有问题请留言说明。
中文乱码问题的解决。
我遇到两种情况的乱码问题。
第一种,插入图片时,图片名字包含中文则上传后乱码(推断所有的上传功能都是这样)。这就是为什么我要在以上的项目配置中使用fckeditor-java源码的原因了,改起来方便啊。2.4包中上传文件的功能已经跟以前的不一样了,上传在net.fckeditor.connector.ConnectorServlet中实现。找到这个类中以下的代码:
我只在第六行增加 upload.setHeaderEncoding("UTF-8");就解决了中文名称乱码问题。
- String newFilename = null;
- FileItemFactory factory = new DiskFileItemFactory();
- ServletFileUpload upload = new ServletFileUpload(factory);
- /* 添加这一句,设定编码 */
- upload.setHeaderEncoding("UTF-8");
- try {
- List<FileItem> items = upload.parseRequest(request);
- // We upload only one file at the same time
- FileItem uplFile = items.get(0);
- String rawName = UtilsFile.sanitizeFileName(uplFile.getName());
- String filename = FilenameUtils.getName(rawName);
- String baseName = FilenameUtils.removeExtension(filename);
- String extension = FilenameUtils.getExtension(filename);
第二种,图片名包含中文也能上传成功了,但是编辑器中居然无法显示,而且测试使用图片面板的文件夹创建功能,创建中文名的文件夹,出现乱码。开始以为是fck的js有问题,后来受一文章(后来找,居然找不到了)启示,对tomcat的server.xml进行了修改,修改部分如下:
- 在<Connector port="80" protocol="HTTP/1.1"
- connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
- URIEncoding="UTF-8" />
- 这两个connector标签中加入了URIEncoding="UTF-8",重启tomcat,此时所有的中文
- 乱码问题都已经解决了。
希望本文对想使用FCKEitor V2.6.2版本的朋友有所帮助。
转载请注明此版权及出处!
本文详细介绍了如何在Java环境下使用FCKEditor V2.6.2,包括在Tomcat中创建web项目、添加依赖库、配置web.xml以及解决中文乱码问题。通过解析源码修改上传文件时的编码设置,并调整Tomcat服务器配置以支持UTF-8编码,从而解决图片名称和文件夹创建时的乱码问题。

被折叠的 条评论
为什么被折叠?



