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库的支持。
FCKeditor.java是针对对JAVA中使用FCKeditor由Simone Chiaretta开发的FCKeditor的JAVA实现。
下载地址:http://www.fckeditor.net/download (最近版本为2.3)
3.在JAVA项目中使用FCKeditor在线编辑器
开发环境:JDK5.0 +<!--[if !supportLists]--> Eclipse 3.2.1 + WTP1.5.2
(1)新建一个WEB工程:
(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文件。
UserFiles是FCKeditor上传文件的文件夹。
修改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.xml中已经加入了一些常用配置的说明。
- 新建input.jsp文件,内容如下:(注意内容中的” testfck”这个id)
<%
@ page contentType="text/html;charset=UTF-8" language="java"
%>
<%
@ taglib uri="/WEB-INF/FCKeditor.tld" prefix="fck"
%>
<
html
>
<
head
>
<
title
>
Test
</
title
>
</
head
>
<
script
type
="text/javascript"
src
="fckeditor.js"
></
script
>
<
script
type
="text/javascript"
>
window.onload = function() {
var oFCKeditor = new FCKeditor("testfck"); <!—注意这里 -->
oFCKeditor.BasePath = "";
oFCKeditor.ToolbarSet = "Basic";
oFCKeditor.ReplaceTextarea("testfck");
}
</
script
>
<
body
>
<
FORM
action
="display.jsp"
>
<
textarea
rows
="20"
cols
="20"
id
="testfck"
name
="testfck"
></
textarea
>
<
br
>
<!
—注意这里 --
>
<
hr
>
<
input
type
="submit"
value
="提交"
></
FORM
>
</
body
>
</
html
>
说明:在JSP中集成FCKeditor有以下几种方式:
(1) 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) 使用JSP自定义标签(该方法一定要完成第(5)步:解压 FCKeditor.java-2.3.zip 包,将其中的 /src 下的 FCKeditor.tld 文件到项目的 WebContent/WEB-INF 目录)
首先在JSP中加入FCKeditor标签:
<%@ taglib uri=”/WEB-INF/FCKeditor.tld” prefix=”fck” %>
然后在 JSP 页面中加入如下代码,集成 FCKeditor 编辑器:
<
fck:editor
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">
</
fck:editor
>
(10) 新建display.jsp文件,这个文件比较简单,只是简单的显示从FCKeditor在线编辑器传递过来的内容,如下:
<%=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 是否不把&符号转换为XML 实体
FormatIndentator=""当在源码格式下缩进代码使用的字符
FormatOutput=true/false 当输出内容时是否自动格式化代码
FormatSource=true/false 在切换到代码视图时是否自动格式化代码
FullPage=true/false 是否允许编辑整个HTML 文件,还是仅允许编辑BODY 间的内容
GeckoUseSPAN=true/false 是否允许SPAN 标记代替B,I,U 标记
IeSpellDownloadUrl=""下载拼写检查器的网址
ImageBrowser=true/false 是否允许浏览服务器功能
ImageBrowserURL=""浏览服务器时运行的URL
ImageBrowserWindowHeight=""图像浏览器窗口高度
ImageBrowserWindowWidth=""图像浏览器窗口宽度
LinkBrowser=true/false 是否允许在插入链接时浏览服务器
LinkBrowserURL=""插入链接时浏览服务器的URL
LinkBrowserWindowHeight=""链接目标浏览器窗口高度
LinkBrowserWindowWidth=""链接目标浏览器窗口宽度
Plugins=object 注册插件
PluginsPath=""插件文件夹
ShowBorders=true/false 合并边框
SkinPath=""皮肤文件夹位置
SmileyColumns=12 图符窗列数
SmileyImages=字符数组图符窗中图片文件名数组
SmileyPath=""图符文件夹路径
SmileyWindowHeight 图符窗口高度
SmileyWindowWidth 图符窗口宽度
SpellChecker="ieSpell/Spellerpages"设置拼写检查器
StartupFocus=true/false 开启时FOCUS 到编辑器
StylesXmlPath=""设置定义CSS 样式列表的XML 文件的位置
TabSpaces=4TAB 键产生的空格字符数
ToolBarCanCollapse=true/false 是否允许展开/折叠工具栏
ToolbarSets=object 允许使用TOOLBAR 集合
ToolbarStartExpanded=true/false 开启是TOOLBAR 是否展开
UseBROnCarriageReturn=true/false 当回车时是产生BR 标记还是P 或者DIV 标记__
6.自定义样式列表
FCKEDITOR 的样式工具栏中提供了预定义的样式,样式是通过XML 文件定义的,默认的
XML 样式文件存在于FCkEditor 根文件夹下的FckStyls.xml 文件中
这个XML 文件的结构分析如下:
<?
xml version="1.0" encoding="utf8"
?>
<
Styles
>
<
Style
name
="MyImage"
element
="img"
>
<
Attribute
name
=" style "
value
="padding:5px"
/>
<
Attribute
name
=" border "
value
="2"
/>
</
Style
>
<
Style
name
=" Italic "
element
="em"
/>
<
Style
name
=" Title "
element
="span"
>
<
Attribute
name
=" class "
value
="Title"
/>
</
Style
>
<
Style
name
=" TitleH3 "
element
="h3"
/>
</
Styles
>
每一个STYLE 标记定义一种样式,NAME 是显示在下拉列表中的样式名,ELEMENT 属性指
定此样式所适用的对象,因为FCKEDITOR 中的样式是上下文敏感的,也就是说,选择不同的
对象,仅会显示针对这类对象定义的样式
本文详细介绍FCKeditor在线编辑器在Java项目中的集成步骤与配置方法,包括所需文件的放置位置、web.xml配置示例及JSP集成方式。
window.onload
143

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



