FCKEditor是一个很好的用于Web页面中的格式化文本编译控件。现在越来越多的论坛的发帖页面中更多的使用了这个控件,我们这里将如何在基于Java的web开发中使用FCKEditor控件的步骤提供给大家,为的是让更多的java开发者花费更少的时间去做重复劳动。首先去下载FCKEditor2.6.3(当然本文编写的时候,这个是最新版本,也许你现在看到的已经是更新的版本了,那么可能某些配置办法已经变化了,本文也将跟进以保持最新动态,相反如果你使用的旧版本的控件,其配置和使用方法也有所区别),下载地址:,我们需要下载两个文件,第一是FCKeditor_2.6.3.zip,就是FCKEditor的控件;第二是FCKeditor.Java(fckeditor-java-2.4.1-bin.zip),就是在Java代码中使用FCKEditor的相关工具类;有了这两个文件,使用FCKEditor的基础就具备了,考试大提示接下来我们要做两件事情,一件事情就是要把FCKEditor控件放到web项目中,这个控件是用于网页的,所以其代码是使用JavaScript脚本编写的,需要和web网页一起被下载的浏览器上才能执行,第二件事情就是这个网页上的控件因为支持图片的上传与下载,所以在上传与下载的时候需要服务端的支持,那么我们我的java服务端如何支持这个控件的工作呢?FCKEditor自身提供了相关的java工具,就是我们下载的第二个文件。因此我们要做的第二件事情就是在服务端配置java工具,使得FCKEditor控件在处理上传图片时能够正确工作。接下来我们就开始对配置FCKEditor控件进行两项工作:第一:解压缩FCKeditor_2.6.3.zip,在其中我们能找到一个文件夹叫fckeditor,那么将这个文件夹整个复制到你的web应用的根目录(WebRoot目录)下,就是存放jsp页面的地方。第二:解压缩fckeditor-java-2.4.1-bin.zip,将这样几个jar文件复制到web应用的WEB-INF\lib目录中(commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,java-core-2.4.1.jar,slf4j-api-1.5.2.jar,slf4j-simple-1.5.2.jar),其中最后一个文件在这个zip包中可能不存在,那么你可以去这个链接地址下载一个文件叫fckeditor-java-2.4.1-bin.zip(下载地址:=75348&package_id=129511),在这个war文件中的lib中存在上述的5个jar文件,其实在war中也包含了FCKEditor控件的内容,也就是说如果你只是下载了war也可以了。然后在classpath目录中创建一个名叫为fckeditor.properties的文件,文件中放置一行内容为:connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl1.connector.userActionImpl=net.fckeditor.requestcycle.impl.EnabledUserAction二:创建fckeditor.properties文件在src下(编译之后处于classes目录中),文件内容如下:connector.userFilesPath=/UserUploadFileconnector.resourceType.file.extensions.allowed=|jpg|gif|png|rar|zip|txt|doc|wma|wmv|mp3|flv|swf|connector.resourceType.media.extensions.allowed=|wma|wmv|mp3|flv|swf|connector.resourceType.image.extensions.allowed=|jpg|png|gif|connector.resourceType.flash.extensions.allowed=|swf|connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImplfckeditor.basePath=/fckeditor(fck资源所在webapp中的目录)fckeditor.skinPath=/skins/office2003/(fck样式,这里可选默认和office2003的样式)fckeditor.height=630(fck编辑器的高度)在web.xml中添加一个Servlet的配置,配置内容如下:servletservlet-nameConnector/servlet-nameservlet-classnet.fckeditor.connector.ConnectorServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameConnector/servlet-nameurl-pattern/fckeditor/editor/filemanager/connectors/*/url-pattern/servlet-mapping好了,现在你已经完成了配置的过程,接下来我们需要在jsp中使用FCKEditor控件了,在需要使用这个控件的jsp文件的开头添加标签库的引入语句:%@tagliburi==FCK%,在使用控件进行文本格式化输入的地方(原来你可能使用的textarea标签)使用如下的内容来替换原来的输入控件:formaction=result.jspmethod=postFCK:editorinstanceName=contentjsp:attributename=value您的内容...../jsp:attribute/FCK:editorinputtype=submitvalue=提交/form自己的实例FCK:editorinstanceName=contentheight=400ptjsp:bodyFCK:configSkinPath=${skin}//jsp:body/FCK:editor其中instanceName属性的值就相当于form表单中的input的name值。就是表单提交时候的键值对中的键的名字。1)在文本框中输入中文提交后得到的中文乱码。解决办法:Result.JSP中来转码:newString(request.getParameter(“content”).getByte(iso-8859-1),”UTF-8”)试验下,嘿嘿,”汉化”成功!2)上传中文名图片后保存的中文图片名乱码解决办法:下载包,替换以前下载的fckeditor-java-core-2.4.jar包,OK,上传中文图片名显示正常了,fckeditor-java-core-2.4.2jar包上传时就不会乱码在使用FCKeditor2.4.3时若上传的图片或者flash的文件名为中文时,发现一下情况:问题1:当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中选择上传按钮,如果上传的文件名为中文时会出现乱码。解决办法:找到FCKeditor.java解压包中的src目录下SimpleUploaderServlet.java做如下修改:找到该程序中DiskFileUploadupload=newDiskFileUpload(),然后在该行下面添加upload.setHeaderEncoding(UTF-8),重新编译成class文件并利用WinRAR把该class文件添加到FCKeditor-2.3.jar中相应的位置,然后覆盖你的web项目中原来的jar包便可。问题2:当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中使用浏览服务器按钮上传中文文件时会出现乱码。解决办法:和问题1的解决办法基本一样,只不过需要在ConnectorServlet.java中添加upload.setHeaderEncoding(UTF-8)便可。问题3:当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中点击浏览服务器按钮,会弹出“浏览服务器”页面,如果想在该页面中使用CreateNewFolder按钮来创建一个中文目录时,会出现中文目录乱码。解决办法:web容器的编码要与FCKeditor默认的编码UTF-8一致,如果使用的是Tomcat,需修改tomcat服务器中conf目录下的server.xml。如下:Connectorport=8080maxHttpHeaderSize=8192maxThreads=150minSpareThreads=25maxSpareThreads=75enableLookups=falseredirectPort=8443acceptCount=100connectionTimeout=20000disableUploadTimeout=trueURIEncoding=utf-8/Connectorport=8009enableLookups=falseredirectPort=8443protocol=AJP/1.3URIEncoding=utf-8/其实就是在原来的基础上添加URIEncoding的属性值为utf-8。注:对于问题3,这种解决办法不可取,最好不要去修改服务器的编码,否则会影响到服务器上其它的工程。解决这个编码的问题可以修改源代码或者从新编写一个类来处理。通过观察打开的上传浏览对话框可以找对对应的htm页面和负责处理上传文件名称的com.fredck.FCKeditor.uploader.ConnectorServlet这个类,然后找到对应的参数,转换编码便可。如:StringnewFolderStr=request.getParameter(NewFolderName);newFolderStr=newString(newFolderStr.getBytes(iso8859-1),utf-8);网上很多文章都说修改/editor/filemanager/browser/default/frmupload.html,在head中加一个metametahttp-equiv=Content-Typecontent=text/html;charset=utf-8/,其实凭这个不行。3)点击浏览服务器后,选择刚上传的中文图片,图片在预览窗口中不能显示解决办法:修改TOMCAT安装目录config下的server.xml文件,在Connector/标签内加上URIEncoding=UTF-8。OK,中文图片正常显示。对中文图片进行UUID编码,上传乱码的解决方法/**FCKeditor-ThetexteditorforInternet-*Copyright(C)2004-2009FredericoCaldeiraKnabben**==BEGINLICENSE==**Licensedunderthetermsofanyofthefollowinglicensesatyour*choice:**-GNUGeneralPublicLicenseVersion2orlater(theG