服务于区块链开拓者

www.zhidnet.com

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

FCKEditor是一个很好的用于Web页面中的格式化文本编译控件。现在越来越多的论坛的发帖页面中更多的使用了这个控件,我们这里将如何在基于Java的web开发中使用FCKEditor控件的步骤提供给大家,为的是让更多的java开发者花费更少的时间去做重复劳动。

  首先去下载FCKEditor2.6.3(当然本文编写的时候,这个是最新版本,也许你现在看到的已经是更新的版本了,那么可能某些配置办法已经变化了,本文也将跟进以保持最新动态,相反如果你使用的旧版本的控件,其配置和使用方法也有所区别),下载地址:http://www.fckeditor.net/download,我们需要下载两个文件,
  第一是FCKeditor_2.6.3.zip,就是FCKEditor的控件;
  第二是FCKeditor.Java(fckeditor-java-2.4.1-bin.zip),就是在Java代码中使用FCKEditor的相关工具类;
有了这两个文件,使用FCKEditor的基础就具备了,接下来我们要做两件事情,一件事情就是要把FCKEditor控件放到web项目中,这个控件是用于网页的,所以其代码是使用JavaScript脚本编写的,需要和web网页一起被下载的浏览器上才能执行,第二件事情就是这个网页上的控件因为支持图片的上传与下载,所以在上传与下载的时候需要服务端的支持,那么我们我的java服务端如何支持这个控件的工作呢?FCKEditor自身提供了相关的java工具,就是我们下载的第二个文件。因此我们要做的第二件事情就是在服务端配置java工具,使得FCKEditor控件在处理上传图片时能够正
确工作。
  接下来我们就开始对配置FCKEditor控件进行两项工作:
  第一:解压缩FCKeditor_2.6.3.zip,在其中我们能找到一个文件夹叫fckeditor,那么将这个文件夹整个复制到你的web应用的根目录下,就是存放jsp页面的地方。
  第二:解压缩fckeditor-java-2.4.1-bin.zip,将这样几个jar文件复制到web应用的WEB-INF\lib目录中(commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,java-core-
2.4.1.jar,slf4j-api-1.5.2.jar,slf4j-simple-1.5.2.jar),其中最后一个文件在这个zip包中可能不存在,那么你可以去这个链接地址下载一个文件叫fckeditor-java-2.4.1-bin.zip (下载地址:http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=129511),在这个war文件中的lib中存在上述的5个jar文件,其实在war中也包含了FCKEditor控件的内容,也就是说如果你只是下载了war也可以了。然后在classpath目录中创建一个名叫为fckeditor.properties的文件,文件中放置一行内容为:connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl,
在web.xml中添加一个Servlet的配置,配置内容如下:
<servlet>
<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>

  好了,现在你已经完成了配置的过程,接下来我们需要在jsp中使用FCKEditor控件了,在需要使用这个控件的jsp文件的开头添加标签库的引入语句:<%@ taglib uri="http://java.fckeditor.net" prefix="FCK" %>,在使用控件进行文本格式化输入的地方(原来你可能使用的textarea标签)使用如下的内容来替换原来的输入控件:
<FCK:editor instanceName="EditorDefault">
  控件中要显示的初始内容
</FCK:editor>
其中instanceName属性的值就相当于form表单中的input的name值。就是表单提交时候的键值对中的键的名字。
 

注:

在框架中使用时为了避免出现表单元素的属性冲突问题,建议使用如下的形式来格式化输出文本框:

<script type="text/javascript" src="${ctx}/fckeditor/fckeditor.js"></script>
 <script type="text/javascript">
  var sBasePath = "<%= request.getScheme() +"://"+ request.getServerName() +":"+ request.getServerPort()+request.getContextPath() + "/fckeditor/" %>" ;

 var SitePath = "<%= request.getScheme() +"://"+ request.getServerName() +":"+ request.getServerPort()+request.getContextPath() + "/website/" %>";

  var oFCKeditor = new FCKeditor("productGoal");
   oFCKeditor.BasePath = sBasePath;
   oFCKeditor.Height = 200 ;
  oFCKeditor.ToolbarSet="CustomToolbar";
   oFCKeditor.ReplaceTextarea();
  </script>

在对应的jsp页面添加如上代码,其中productGoal为jsp页面中对应的form表单元素的name属性的值

posted on 2013-09-26 15:26  知点网  阅读(534)  评论(0编辑  收藏  举报