1. FCKeditor 介绍
FCKeditor 这个开源的HTML 文本编辑器可以让web 程序拥有如MS Word 这样强大的编辑功
能.FCKeditor 支持当前流行的浏览器如IE 5.5+, Firefox 1.0+, Mozilla 1.3+与Netscape 7+等。
FCKeditor 这个开源的HTML 文本编辑器可以让web 程序拥有如MS Word 这样强大的编辑功
能.FCKeditor 支持当前流行的浏览器如IE 5.5+, Firefox 1.0+, Mozilla 1.3+与Netscape 7+等。

FCKeditor官司方网址:
http://www.fckeditor.net/
FCKeditor在线
DEMO:
http://www.fckeditor.net/demo
FCKeditor下载直址:
http://www.fckeditor.net/download (该版本为
2.3.2
),最新版已经是2.4了。
2.FCKeditor.java
介绍
不能直接在JSP项目中使用,需要FCKeditor.java库的支持。
JAVA
FCKeditor.java是针对对
JAVA中使用
FCKeditor由
Simone Chiaretta开发的
FCKeditor的
JAVA实现。
下载地址:http://www.fckeditor.net/download (最近版本为2.3)
3.
在
项目中使用FCKeditor
在线编辑器
开发环境:JDK5.0 +<!--[if !supportLists]--> Eclipse3.2.1 + WTP1.5.2

(2)解压 FCKeditor_2.3.2.zip包,将其中的 edit 文件夹到项目中的 WebRoot 目录
(3)解压 FCKeditor_2.3.2.zip 包,将其中的 fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml 文件夹到项目中的 WebRoot 目录
(4)解压 FCKeditor.java-2.3.zip 包,将其中的 /web/WEB-INF/lib 下的两个 jar 文件到项目的 WebRoot/WEB-INF/lib 目录
(5)解压 FCKeditor.java-2.3.zip 包,将其中的 /src 下的 FCKeditor.tld 文件到项目的 WebContent/WEB-INF 目录
(6)删除 WebContent/edit 目录下的 _source 文件夹(以“_”开始的文件,在项目中无用)
完成后的目录结构下如:

说明:图中的input.jsp和display.jsp两个是我写的测试集成FCKeditor的JSP文件。
- 修改WebContent/WEB-INF/web.xml文件,加入FCKeditor的配置信息,如下:
<
xml
version
="1.0"
encoding
="UTF-8"
?
>
< web-app id ="WebApp_ID" version ="2.4"
xmlns ="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
< display-name > FCKeditor </ 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 >
<!-- 此为文件上传路径,需要在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 >
</ web-app >
< web-app id ="WebApp_ID" version ="2.4"
xmlns ="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >
< display-name > FCKeditor </ 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 >
<!-- 此为文件上传路径,需要在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 >
</ web-app >
注:web.xml中已经加入了一些常用配置的说明。
- 新建input.jsp文件,内容如下:(注意内容中的” testfck”这个id)

(上面不能直接帖HTML的代码,所以只能帖一个图片上来,要是有知道如何帖HTML代码的朋友,请告诉我一下,谢谢)
说明:在
JSP中集成
FCKeditor<!--[endif]-->
JavaScript集成:
如上面内容所示,通过新建一个
FCKeditor对象,然后调用该对象的设置方法来设置
FCKeditor的各个属性,最后调用
FCKeditor的
ReplaceTextarea()替换
HTML页面中的
<
textarea>标签。另外
FCKeditor也可以调用它的
create()方法来直接在
JSP嵌入
FCKeditor编辑器。
注:注意上面的
oFCKeditor.BasePath =
""
;用这种方式
FCKeditor会去查找它的
editor目录下的
fckeditor.html文件,由于我是直接将
editor文件夹拷贝到
WebContent目录下,所以将它的
BasePath设置为
””,如果您将
editor拷贝到其它目录,请设置相应的
BasePath属性。
FCKeditor默认是将其放在
fckeditor目录
(2) <!--[endif]-->使用
自定义标签
该方法一定要完成第
步:解压 FCKeditor.java-2.3.zip 包,将其中的 /src 下的 FCKeditor.tld 文件到项目的 WebContent/WEB-INF 目录
首先在
JSP中加入
FCKeditor标签:
<%@ taglib uri=”/WEB-INF/FCKeditor.tld” prefix=”fck” %>
JSP页面中加入如下代码,集成FCKeditor编辑器:
id
=
"
testfck
"
<!--
—注意这里
-->
basePath = " /FCKeditor/ "
height = " 60% "
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 " >
basePath = " /FCKeditor/ "
height = " 60% "
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 " >
(10) 新建
文件,这个文件比较简单,只是简单的显示从
在线编辑器传递过来的内容,如下:
<%=
request.getParameter(
"testfck"
)
%>
注意这里的
getParameter(“testfck”),这个
”testfck”就是在
input.jsp中设置的
id。
4.FCKeditor
类说明
下面是用来在页面中建立编辑器的
FCKEDITOR 类的说明
(1)
构造器:
FCKeditor(instanceName[,width,height,toolbarSet,value])
-
instanceName:编辑器的唯一名称(相当于ID)
-
WIDTH:宽度
-
HEIGHT:高度
-
toolbarSet:工具条集合的名称
-
value:编辑器初始化内容
(2)
属性:
-
instanceName:编辑器实例名
-
width:宽度,默认值为100%
-
height:高度,默认值是200
-
ToolbarSet:工具集名称,参考FCKCONFIG.JS,默认值是Default
-
value:初始化编辑器的HTML 代码,默认值为空
-
BasePath:编辑器的基路径,默认为/Fckeditor/文件夹,注意,尽量不要使用相对路径.最用相对于站点根路径的表示方法,要以/结尾
-
CheckBrowser:是否在显示编辑器前检查浏览器兼容性,默认为true
-
DisplayErrors:是否显示提示错误,默为true
(3) 集合:
Config[Key]=value
这个集合用于更改配置中某一项的值
,如
oFckeditor.Config["DefaultLanguage"]="ptbr"
(4)
方法:
Create()
建立并输出编辑器
RepaceTextArea(TextAreaName)
用编辑器来替换对应的文本框
5.
如何配置FCKEDITOR
FCKEDITOR 提供了一套用于定制其外观
,特性及行为的设置集.主配置文件名为Fckconfig.js你既可以编辑主配置文件,也可以自己定义单独的配置文件.配置文件使用JAVASCRIPT 语法.修改后,在建立编辑器时,可以使用以下语法:
varoFCKeditor=newFCKeditor('FCKeditor1')
oFCKeditor.Config['CustomConfigurationsPath']='/myconfig.js'
oFCKeditor.Create()
提醒
:当你修改配置后,请清空浏览器缓存以查看效果
配置选项:
AutoDetectLanguage=true/false 自动检测语言
BaseHref=""相对链接的基地址
ContentLangDirection="ltr/rtl"默认文字方向
ContextMenu=字符串数组
,右键菜单的内容
CustomConfigurationsPath=""自定义配置文件路径和名称
Debug=true/false 是否开启调试功能
,这样,当调用FCKDebug.Output()时,会在调试窗中输出内容
DefaultLanguage=""缺省语言
EditorAreaCss=""编辑区的样式表文件
EnableSourceXHTML=true/false 为
TRUE 时,当由可视化界面切换到代码页时,把HTML 处理成XHTML
EnableXHTML=true/false 是否允许使用
XHTML 取代HTML
FillEmptyBlocks=true/false 使用这个功能
,可以将空的块级元素用空格来替代
FontColors=""设置显示颜色拾取器时文字颜色列表
FontFormats=""设置显示在文字格式列表中的命名
FontNames=""字体列表中的字体名
FontSizes=""字体大小中的字号列表
ForcePasteAsPlainText=true/false 强制粘贴为纯文本
ForceSimpleAmpersand=true/false