关于struts2和fckeditor整合的总结

原创 2010年05月30日 21:32:00

本人使用的fckeditor为fckeditor2.6.6版本,使用它时还要下载fckeditor-java-2.6-bin这个文件并解压使用fckeditor-java-core-2.6和lib目录下的jar包,放在你的项目的WEB-INF/lib目录下,还要在web.xml中配置:

<servlet>
  <servlet-name>ConnectorServlet</servlet-name>
  <servlet-class>com.info.fckeditor.Fckeditor</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>

 <servlet-mapping>
  <servlet-name>ConnectorServlet</servlet-name>
  <url-pattern>
        /fckeditor/editor/filemanager/connectors/*
  </url-pattern>
 </servlet-mapping>

这里我自己写了个class,为的是防止用中文的扩展名的时候上传的图片不能显示,不过在2.6.6中它的ConnectorServlet.class有很大的变化,你要在Dispatcher.class中去修改如:

中我添加了String fileName = FilenameUtils.getName(uplFile.getName());
    //文件 的扩展名
    String extension=FilenameUtils.getExtension(fileName);
    //把文件名改为uuid字符串,防止文件名中文时,上传的图片无法显示
    fileName=UUID.randomUUID().toString()+"."+extension;

三句代码,就能防止是中文的扩展名的图片不能显示的问题了。

  还有要注意的是在classpath中要有fckeditor.properties文件里面的内容可以从官网的文档能得到,

我在使用的时候和strut2整合的时候要特别注意的是在web.xml中的配置strut的过滤器要有所改变:

<filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>

 <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>

不能像以前的<url-pattern>/*</url-pattern>这样的配置了,不然会报错。

还有在项目的lib目录下要有xalan-2.7.1.jar和xml-serializer-2.7.1.jar这两个jar包,不然会出XML相关的异常

我的lib目录:

收藏助手
不良信息举报
您举报文章:关于struts2和fckeditor整合的总结
举报原因:
原因补充:

(最多只允许输入30个字)