1.FCKeditor 介绍
FCKeditor 这个开源的HTML 文本编辑器可以让web 程序拥有如MS Word 这样强大的编辑功能,.FCKeditor 支持当前流行的浏览器如 ,
2.准备工作:
环境:winddows XP、tomcat6.0、JDK1.6
下载:
1):FCKeditor_2.6.3b.zip
地址: http://nchc.dl.sourceforge.net/sourceforge/fckeditor/FCKeditor_2.6.3b.zip
2):fckeditor-java-2.4-bin.zip (JAVA支持包)地址 http://nchc.dl.sourceforge.net/sourceforge/fckeditor/fckeditor-java-2.4-bin.zip
3)slf4j-1.5.2.zip 地址 : http://slf4j.org/dist/slf4j-1.5.2.zip
3.安装:
1)解压FCKeditor_2.6.3b.zip,将解压的到的 fckeditor整个文件夹完整复制到工程目录WebRoot下。
2)解压fckeditor-java-2.4-bin.zip,在fckeditor-java-2.4-bin的解压缩文件中提取出4个JAR包,分 别为fckeditor-java-core-2.4.jar、commons-fileupload-1.2.1.jar、commons-io- 1.3.2.jar、slf4j-api-1.5.2.jar,
3)解压slf4j-1.5.2.zip,只需提取slf4j-jdk14-1.5.2.jar包
4)将2、3步提取的5个包都都导如工程目录WEB-INF/bin中
(
插句题外话,刚开始我只导入了第2步截压出的4个包,启动TOMCAT的时候提示找不到类 org.slf4j.impl.StaticLoggerBider,再看官方文档,上面说还要下SLF4J,于是便到slf4j官网下了个最新版,但不 知道org.slf4j.impl.StaticLoggerBider类在哪个包里,这是我最笨之处,我将所有包都导进去慢慢找(汗……),然后把多余 包给移除了(通过项目右键→Properties→Java Build Path→Libraries,移除多余包),再重启,现在不报找不到类的错了,但出现了上百条 java.lang.StackOverflowError错误(再汗……),查了N久,没结果,然后在MyEclipse的lib目录下还发现了一大堆 刚才移除的包,接着我就把他们统统右键Delete删除,再重启,嘿嘿,OK了。
)
4.配置
1)在共程目录src/下新建一 个文件fckeditor.properties,添加内 容:connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl 保存即可。
2)修改web.xml,用来提供上传功能支持,
添加内容:
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>
net.fckeditor.connector.ConnectorServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>
/fckeditor/editor/filemanager/connectors/*
</url-pattern>
</servlet-mapping>
5.应用
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="net.fckeditor.*" %>
<%@ taglib uri="http://java.fckeditor.net " prefix="FCK" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml ">
<head>
<title>FCKeditor - JSP Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="robots" content="noindex, nofollow" />
<script type="text/javascript">
function getValue() {
var oEditor = FCKeditorAPI.GetInstance('EditorDefault');
document.getElementById('fckeditorValue').value=oEditor.GetXHTML(true);
document.getElementById('fckeditortextValue').value=oEditor.EditorDocument.body.innerText;
}
</script>
</head>
<%
FCKeditor fckEditor = new FCKeditor(request, "EditorDefault");
%>
<body>
<h1>FCKeditor - JSP - Sample 1</h1>
<p>This sample displays a normal HTML form with an FCKeditor with
full features enabled.</p>
<p>Basic FCKeditor informations:</p>
<ul>
<li><FCK:check command="CompatibleBrowser" /></li>
<li><FCK:check command="FileBrowsing" /></li>
<li><FCK:check command="FileUpload" /></li>
</ul>
<hr />
<form action="#" method="post" target="_blank">
<%
fckEditor.setValue("This is some <strong>sample text</strong>. You are using <a href=\"http://www.fckeditor.net\">FCKeditor</a >.");
out.println(fckEditor);
%>
<br />
<FCK:editor instanceName="Default" value=" ">
</FCK:editor>
<br />
html:<textarea id="fckeditorValue" cols="50" rows="8" ></textarea>
text:<textarea id="fckeditortextValue" cols="50" rows="8" ></textarea>
<input type="button" value="Submit" οnclick="getValue();"/></form>
</body>
</html>
引文地址:http://www.pjwqh.cn/css-131-jsp.html
配置选项:
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=4 TAB键产生的空格字符数
ToolBarCanCollapse=true/false 是否允许展开/折叠工具栏
ToolbarSets=object 允许使用TOOLBAR集合
ToolbarStartExpanded=true/false 开启是TOOLBAR是否展开
UseBROnCarriageReturn=true/false 当回车时是产生BR标记还是P或者DIV标记
修改config.js
安全配置 :src下面connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
修改可以配置自定义UserAction 不然Session会被改或者没有上传权限
自定义UserAction要继承