速动画教程第二十集 在线编辑器 FCKeditor 的应用
开发环境:
Tomcat5.5 Eclipse3.1.1 MyEclipse4.1.1
FCKeditor 版本 FCKeditor_2.2 FCKeditor.Java 2.3 这里需要用到两个包
下载地址:http://www.fckeditor.net/download/default.html
开始:
新建工程,名称为 FCKeditor
解压 FCKeditor_2.2 包中的 edit 文件夹到项目中的 WebRoot 目录
解压 FCKeditor_2.2 包中的 fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 文件夹到项目中的 WebRoot 目录
解压 FCKeditor-2.3.zip 包中的 /web/WEB-INF/lib 下的两个 jar 文件到项目的 WebRoot/WEB-INF/lib 目录
解压 FCKeditor-2.3.zip 包中的 /src 下的 FCKeditor.tld 文件到项目的 WebRoot/WEB-INF 目录
删除 WebRoot/edit 目录下的 _source 文件夹
刷新一下工程,有一个文件会出错,不管它是什么错,将错误信息清除
修改 web.xml 文件,加入以下内容
<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>
<!-- 此为文件上传路径,需要在WebRoot 目录下新建 UserFiles 文件夹 -->
<!-- 根据文件的类型还需要新建相关的文件夹 Image、Flash -->
<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>
新建一个提交页 test.jsp 文件和一个接收页 test1.jsp 文件
test.jsp 代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ taglib uri="/WEB-INF/FCKeditor.tld" prefix="fck" %>
<html>
<head>
<title>Test</title>
</head>
<body>
<FORM action="test1.jsp">
<fck:editor id="testfck" basePath="/FCKeditor/"
height="100%"
skinPath="/FCKeditor/editor/skins/default/"
toolbarSet="Default"
imageBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/jsp/connector"
linkBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Connector=connectors/jsp/connector"
flashBrowserURL="/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Flash&Connector=connectors/jsp/connector"
imageUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Image"
linkUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=File"
flashUploadURL="/FCKeditor/editor/filemanager/upload/simpleuploader?Type=Flash">
</fck:editor>
</FORM>
</body>
</html>
test1.jsp 代码如下:
<html>
<head>
<title>TEST</title>
</head>
<body>
<%=request.getParameter("testfck")%>
</body>
</html>
在 WebRoot 目录下新建 UserFiles 文件夹,在此文件夹下新建 Image 和 Flash 两个文件夹
这样就可以了,现在测试
刚出现的错误就是这里了,必须改为 true
看来这里有BUG,两个不同的提交一个乱码,一个正常!
现在需要减少一些不必要的文件
删除 /WebRoot/editor/filemanager/browser/default/connectors 目录下所有的文件,这些是用来浏览文件的,对于jsp的话是使用了 servlet 来处理,所以这些文件都是多余的
同样的,上传部份的文件也不需要。删除 /WebRoot/editor/filemanager/upload 目录下所有的文件
删除 WebRoot/editor/lang 目录下不需要的语言,如保留中文和英文还有 fcklanguagemanager.js 文件
删除 /WebRoot/editor/skins 目录下不需要的皮肤文件,有三种皮肤,可根据需要进行删除
删除 /WebRoot/editor/dialog/fck_image 目录下 fck_image_preview.html 文件中的部份文字,这些文字是出现在浏览图片时在预览框中的内容
需要注意一个问题,如果你正在使用 Maxthon 作为默认的游览器的话,它的广告过滤机制会将弹出的图片选择页过滤掉,如果已经设置了充许过滤的话,还需要注意它会将图片选择页作为一个新页面出现到后台,,我在使用的过程中因为这个原因无法调试,所以改用 IE 进行调试
图片文件需要英文名称。
这集就介绍到这里吧!下回见