FCKeditor 2..6.3 使用
程序员文章站
2022-03-20 13:37:46
...
1. 下载FckEditor2.6.2和FCKeditor for java2.3,得到的文件为FckEditor2.6.2.rar和FckEditor2.3.rar,分别将其解压。
2. 先看FCKeditor-2.3,解压后的目录中有docs,web,src三个文件夹和其他一些文件,一般不用,将src文件夹下的所有文件考到你的工程的src目录下,那个tld文件可以不考,将web目录下的web.xml文件和工程的web.xm文件整合,即将如下代码加到工程的web.xml中
<web-app>
<display-name>FCKeditor Test Application</display-name>
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class>
<init-param>
<param-name>baseDir</param-name>
<param-value>/UserFiles/</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>/UserFiles/</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>false</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>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</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>/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>SimpleUploader</servlet-name>
<url-pattern>/editor/filemanager/upload/simpleuploader</url-pattern>
</servlet-mapping>
并将其中的SimpleUploader的一个参数enabled改为true,以支持文件上传功能,即将
<init-param>
<param-name>enabled</param-name>
<param-value>false</param-value>
</init-param>
改为
<init-param>
<param-name>enabled</param-name>
<param-value>true</param-value>
</init-param>
在工程的WebRoot下新建文件夹UserFiles,注意大小写,存放用户上传的文件和图片,这是默认的,改动的话挺麻烦。
把web\lib中的两个jar包放到工程的WEB-INF\lib中,告一段落。
3. 在看2.6.2的那个解压文件,在FCKeditor中有很多文件,如果文件夹FCKeditor是小写fckeditor的话,在工程的WebRoot下新建一个文件夹FCKeditor,把fckeditor中的editor文件夹和fckconfig.js,fckeditor.asp,fckeditor.js, fckstyles.xml,fcktemplates.xml五个文件copy到该目录下。如果FCKeditor是大写写FCKeditor的话,直接将该目录拷贝到WebRoot下,同时除上述一个文件夹和五个文件外,其余全部删除。文件夹editor及其子目录中所有的以”_”下划线开头的文件和文件夹全部删除
4 把editor\filemanager\connectors目录中 把asp目录和php留下(上传用什么方法就留下什么),其余的方法目录[aspx 等待 目录] 删除(注意留下test.html 和 uploadtest.html)
5 editor\lang 语言目录 把 en.js 、 zh.js 、 zh-cn.js 留下,其余全部删除
6 FckEditor2.5.1 基本设置 添加字体,大小,语言
文本地址:FCKeditor\fckconfig.js
修改:
FCKConfig.DefaultLanguage = 'en' ; 替换成--》 FCKConfig.DefaultLanguage = 'zh-cn' ;
FCKConfig.FontNames 里增加国人常用的 宋体;楷体;黑体;隶书;行楷; 等
FCKConfig.FontSizes 里加上常用的字体大小 12px;14px;16px;18px;24px;26px;28px;32px;等
FCKConfig.TabSpaces = 1 ; //在编辑器中是否可以是否TAB键 0 不可用 1 为可用
(一) 上传文件时中文乱码问题
FCKeditor-java没有很好的解决中文问题。需要我们修改它的源代码后重新编译打包。打包过程如下:
1。 新建一个web工程名字为FCKeditor-java-2.3,然后把FCKeditor-2.3-java.zip解压缩后的代码拷贝到工程目录下。
2。如果是用的Eclipse,使用快捷键Ctrl+Shift+R
在SimpleUploaderServlet.java和ConnectorServlet.java两个文件里找到
DiskFileUpload upload = new DiskFileUpload();
分别在其后加入 upload.setHeaderEncoding("utf-8");
(二) 1、上传时新建的中文目录全部乱码;
2、浏览服务器时有中文名称文件或目录将会出现乱码。
虽然上传到服务器上的文件名正常,但在JSP页面点下载链接时文件名乱码导致不能正常下载。
查找资料:TOMCAT 链接参数有中文时,乱码解决方法
[url]http://hi.baidu.com/jadestone/blog/item/7564deefc9192d36acafd5be.html[/url]
修改tomcat-home/conf/server.xml
方法一(推荐):
在两处地方加上URIEncoding="utf-8":
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="utf-8" />
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" URIEncoding="utf-8" />
方法二:
使用useBodyEncodingForURI="true". 这个方法适合你的TOMCAT实例下需要跑多个不同Encoding的程序时。<... maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true" />
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" useBodyEncodingForURI="true" /
(三) FCKeditor2.3上传文件功能与Struts 2 不兼容的问题
原因:Struts2框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求中的请求参数解析出来,传入到Action中,并回调Action的execute方法来处理用户请求。(FilterDispatch是Struts 2的核心控制器,它负责拦截所有的用户请求,FilterDispatch作为一个Filter运行在Web应用中,当请求到达时,该Filter会过滤用户请求。)而FCKeditor 的上传功能使用DiskFileUpload的praseRequest(HttpServletRequest request)方法解析上传文件信息,与Struts2的拦截器功能相冲突。
解决:让Struts2仅处理*.action的请求。修改配置文件web.xml:
将Struts2处理所有web请求的过滤器配置
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
改为:仅处理.action或.jsp请求
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
备注:以上配置文件的更改会造成Struts2 标签在页面中不显示
应该在web.xml文件中加入以下配置:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
【参考:】
[url]http://sharep.blog.51cto.com/539048/114506[/url]
上一篇: 我,95后,放弃工资2150的老师工作,全职画画一年全款买上了车
下一篇: glog的使用