`

FCKeditor 2.6.3与FCKeditor.java 2.4在JSP中配置

阅读更多

1.FCKeditor 介绍

FCKeditor 这个开源的HTML 文本编辑器可以让web 程序拥有如MS Word 这样强大的编辑功能,.FCKeditor 支持当前流行的浏览器如 ,先抓个图让大家一睹她的芳容:

           

各位不要怀疑这是从OFFICE2003上抓的图哦,等您把这篇文章看完之后在您的网也中也可以拥有这样的效果了哦^_^,废话少说,转到正题。

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.应用

在工程目录WebRoot下新建index.jsp,result.jsp两个文件,

index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <base href="<%=basePath%>">

    <title>FCKeditor.java2.4 for FCKeditor2.6.3Beate text</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">   

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

    <form action="result.jsp" method="post">

    <FCK:editor instanceName="content">

    <jsp:attribute name="value">

    您的内容.....

    </jsp:attribute>

</FCK:editor>

<input type="submit" value="提交">

    </form>

   

</body>

</html>

 

result.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

    <base href="<%=basePath%>">

    <title>My JSP 'result.jsp' starting page</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">   

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

</head>

<body>

    <%=request.getParameter("content") %>

</body>

</html>

 

在IE地址中输入:http://localhost:8080/FCKtest    OK,成功了!

6.不足之处

世界上没有绝对完美的女子(不知道你是否发现了完美的女孩,错了不要打我),FCK也一样。

1) 在文本框中输入中文提交后得到的中文乱码。

解决办法:

Result.JSP中来转码:

new String(request.getParameter(“content”).getByte(iso-8859-1),”UTF-8”)

试验下,嘿嘿,”汉化”成功!

2) 上传中文名图片后保存的中文图片名乱码

解决办法:下载www.pjwqh.cn.jar包,替换以前下载的fckeditor-java-core-2.4.jar包,

OK,上传中文图片名显示正常了,

3) 点击浏览服务器后,选择刚上传的中文图片,图片在预览窗口中不能显示

解决办法:

修改TOMCAT安装目录config下的server.xml文件,在<Connector/>标签内加上 URIEncoding="UTF-8"。

OK,中文图片正常显示。

4) 关与FLASH的上传

A.上传中文文件名FLASH时,有时候弹出没有权限,或者是文件类型错误,有时候上传正常。

B.上传英文或者数字名FLASH时,窗口一直处与等待状态,过一会儿关闭窗口,再通过浏览服务器按钮可以看到FLASH已经成功上传。

C.有时候如过上传成功了,预览窗口也不能播放。

D.有时候无论使用什么语言的文件名都可以上传成功。

但只要你是使用的英文或则数字文件名,就能100%上传。

所以关于这个问题估计还是编码引起的。

5)。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>

附:FCKeditor的编码是个老大难,想真正让他很好的处理中文是件非常不容易的事情,例如上面费了好大劲将中文名图片的上传和浏览功能修改好之后,FLASH又出问题。这些都是编码惹的祸。

这里附上另外一种解决办法,可以屏蔽掉上面不足之处的1、2、3、4部的操作,下载FCKeditor2.4ByTxdnet.Cn.jar这个包,用来替换上面的www.pjwqh.cn.jar包,剩下的工作就是等着你测试了,这个方法方便、简单、有校,他解决中文乱码的原理是将上传的文件无论是中文文件名或者英文文件名改用系统当前时间来替换,既改成了数字,这样就永远不存在乱码和图片无法显示的问题了。(本方法又Happy漫步者提供)

7.总结:

FCKeditor2.6.3 Beta在2.6.2基础上有了很大改进,FCKeidtor 2.6.3Beta在配置上进行了大量简化,让使用者更易轻松上手,但FCKeditor的编码是个老大难问题,特别在文件上传功能上表现的尤为突出,希望FCK官方在以后的版本中能够修正这个BUG。

      

分享到:
评论
1 楼 guozk 2010-03-05  
这个包www.pjwqh.cn.jar的地址不对啊

相关推荐

    fckeditor2.6.3b+fckeditor-java-2.4+slf4j-1.5.2

    一款很好用的开源富文本编辑器,可以在jsp页面中使用,内附使用教程,找了好久才集齐的

    FCKeditor_2.6.3.zip jsp编辑器

    包含FCKeditor_2.6.3.zip及fckeditor-java-2.4-bin.zip以及详细的配置方法。 本人做的jsp网站一直都在用这个。

    (使用)JAVA技巧FCKEditor2.6.3配合Java的使用步骤.doc

    Fckeditor文本编辑器 整合到JSP中文档 很好狠强大~~~

    fckeditor2.6.3在线文本编辑器

    fckeditor2.6.3在线编辑器,配套fckeditor.net 并且提供配置方法,以及常见问题。 支持ASP.NET,PHP,JSP

    fckeditor for JAVA所需要的所有文件

    很简单,省的花很多时间在配置上。 另外这个没有针对中文做设置,比如字体,和对中文文件名字的支持的。在网上搜一下吧,挺多的。 有问题联系我: bestphper#gmail.com http://blog.csdn.net/huliang82/ 共同探讨....

    FCKeditor在线编辑器资料

    fckeditor-java-2.4-bin.zip:用于集成jsp所需的jar类,5个 fckeditor-java-2.4-src.zip:开源的源码文件 fckeditor-java-demo-2.4.war:用于部署的一个例子 FckEditor for java 2_4的JSP 配置方法详解.htm fckEditor...

    jsp版fckeditor 工程源代码(可上传图片)

    集成了fckeditor,并且可上传图片的jsp应用

    JSP 页面中使用FCKeditor控件(js用法)

    “FCKeditor”名称中的“FCK” 是这个编辑器的作者的名字Frederico Caldeira Knabben的缩写。 FCKeditor控件请到官方网站下载http://www.fckeditor.net,本例主要用到FCKeditor_2.6.3.zip、fckeditor-java-demo-...

    Fckeditor最新版加其实例jar包

    Fckeditor_2.6.3版本适合jsp的在线编辑器实例+源码,jsp网站后台编辑不可错过的绝好资源!

    EXT2.0中文教程

    10.3. 在form中使用fckeditor A. 常见问题乱弹 A.1. ext到底是收费还是免费 A.2. 怎么查看ext2里的api文档 A.3. 如何在页面中引用ext A.3.1. 顺便说说常见的Ext is not defined错误 A.4. 想把弹出对话框单独拿出来...

    EXT教程EXT用大量的实例演示Ext实例

    10.3. 在form中使用fckeditor A. 常见问题乱弹 A.1. ext到底是收费还是免费 A.2. 怎么查看ext2里的api文档 A.3. 如何在页面中引用ext A.3.1. 顺便说说常见的Ext is not defined错误 A.4. 想把弹出对话框单独拿...

    低清版 大型门户网站是这样炼成的.pdf

    2.3.3 struts 2中集成fckeditor 80 2.3.4 struts 2中集成displaytag 83 2.4 struts 2国际化实现 85 2.4.1 web应用的中文本地化 85 2.4.2 struts 2应用的国际化 87 2.4.3 struts 2国际化语言的动态切换 89 2.5 ...

Global site tag (gtag.js) - Google Analytics