简单的图文编辑器
--writeen by hu
此程序本人是用fck 2.6.3内核 加上fck for java 2.4历时一星期(新手没办法)研究完成。。。汗~~
废话少说,进入正题.
下面详细介绍如何配置fck及简单应用:
1.FCKeditor 介绍
FCKeditor 这个开源的HTML 文本编辑器可以让web 程序拥有如MS Word 这样强大的编辑功能.FCKeditor 支持当前流行的浏览器。
2.准备工作:Eclipse tomcat5.5以上、JDK1.5以上
下载: 1) FCKeditor_2.6.3.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) 2.4比起2.3必须导入这个包: slf4j-1.5.2.zip
地址:http://slf4j.org/dist/slf4j-1.5.2.zip.
当然,以上所有地址官方也有得下,http://www.fckeditor.net/download。
3.安装:3.安装:
第一步为fck内核,第二部导入java的4个支持包.
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/lib中
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.应用
1。 新建任意一个jsp,我这里命名index.jsp
页面导入<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>,在你想使用的地方
嵌入如下代码:
form action="result.jsp" method="post">
<!--instanceName 是Fck textare 在页面中的名字,在action或者servlet中直接用request.getParameter("content")获得,toolbarSet:工具条设置,默认是Default,此处使用Basic,基本的简单工具条.-->
<FCK:editor instanceName="content" toolbarSet="Basic" height="200" width="600">
<!-- 这里是默认加载在文本框里的内容,不要可省
<jsp:attribute name="value">
press anything you want to press
</jsp:attribute>
-->
</FCK:editor>
<input type="submit" value="提交">
</form>
2 .新建result.jsp
在你想获取的地方嵌入如下代码即可,request.getParameter("content")
3.配置完毕后在地址栏键入http://localhost:8080/yourPj(这里是你的工程的名字,请勿照搬)/index.jsp
4. OK! 基本设置已经全部搞定。。。。
6 FCK的一些基本问题或者不足之处:
1) . 在文本框输入中文提交后得到的乱码问题
解决方案: 设置提交页面和获取页面的解码方式 一致.
result.jsp 这样获得:new String(request.getParameter(“content”).getByte(iso-8859-1),”GBK/GB18030/GBK/UTF-8”)。 中文解码方式皆可.
2) . 上传中文名图片保存后乱码问题以及一切中文乱码问题
http://www.pjwqh.cn/userfiles/file/20080905190341999.rar 下载这个包,代替掉fckeditor-java-core-2.4.jar即可.
(如果朋友们找不到 ,加QQ:572783003 ,偶发你).
如果你用的是struts 2的话,得看看下面了
3) FCKeditor2.6.2上传文件功能与Struts 2 不兼容的问题。
解决办法:
让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>
4) 修改fck自带的上传路径:
打开我们一开始建立在src 目录下的fckeditor.properties,键入
connector.enabled=true //设置文件上传路径可更改
connector.userFilesPath=/upload //设置默认目录为webroot底下的upload 文件夹
7,什么,你还对FCK不满意? 我知道了,你是不喜欢怎么笨重的FCK吧.
下面介绍FCK大瘦身:
1) 删除2.63包解压后的目录下的除fckconfig.js,fckeditor.js,fckstyles.xml,fcktemplates.xml以及文件夹editor
2) 删除editor文件夹底下 一切以_线开头的文件及文件夹.
3)删除editor文件夹底下 fimanager/connectors目录.此目录存放所有php,asp之类语言的设置,与java无关.
4) 删除editor 文件夹底下 lang目录底下除en,zh,zh_cn以外所有的.js ,此为语言支持包,如果你是外国的请慎重考虑.
5) 工具条瘦身法: 打开第一步说的fckconfig.js ... 找到 FCKConfig.ToolbarSets["Default"] = [
['DocProps','-','Templates'],
['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
'/',
['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
['Link','Unlink','Anchor'],
['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
'/',
['Style','FontFormat','FontName','FontSize'],
['TextColor','BGColor'],
['FitWindow','ShowBlocks','-','About'] // No comma for the last row.
] ;
FCKConfig.ToolbarSets["Basic"] = [
['Style','FontFormat','FontName','FontSize','-','Bold','Italic','-','Smiley','-','Image']
] ;
这里是fck的工具条,默认是所有,但是一般我们不会这样,所以我们修改下面的Basic自己使用吧..
提示:'-'号是界面上的分隔F.
)
6) 皮肤更换: 依然是fckconfig.js , 找到FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
在editor文件夹底下一共提供了三种皮肤, 需要更改修改default为其他文件夹名字即可.
8.附加fck详细配置 :
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 是否允许在插入�
评论0