上一篇文章给大家分享了CKEditor+CKFinder+JSP实现了在线编辑器上传图片的功能(见 http://www.linuxidc.com/Linux/2013-04/82956.htm),这里在给大家分享一下如何在前面的基础上在struts2下实现这样的功能。实现与Struts2的整合,整合的过程确实easy.不过实现之后,图片上传不上去,上传之后显示“文件不存在”,然后在网上找了一些资料,经过总结最终实现了这个功能。此问题的原因就是struts2的拦截器,在web.xml中,可以清楚的看到:<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 上面的配置,struts2会拦截所有以"/"开头的URL. 在CKEditor的配置中,CKEditor是使用servlet来实现的,它也是通过拦截URL的机制进行工作的,CKeditor的部分servlet配置如下:<servlet-mapping>
<servlet-name>ConnectorServlet</servlet-name>
<url-pattern>/ckfinder/core/connector/java/connector.java</url-pattern>
</servlet-mapping>现在就很明了了,struts2拦截器会拦截所有以"/"开头的URL,CKEd的servlet拦截器拦截所有以" /ckfinder/core/connector/java/connector.java"开头的URL.当时CKEditor上传图片的时 候,URL中包含有"/"(指网站根目录),优先被struts2的拦截器拦截,这样上传的URL请求就不会转发到CKEditor的servlet中, 所有上传图片也就不会成功.问题所在找到了,那这个问题就好解决了,最简单的办法是将struts2的拦截器"/*"改成"#.action"或者"*.do",可以这样改:<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
CKEditor+CKFinder+JSP实现在线编辑器上传文件(包括图片、Flash)在MAC下使用ISO制作Linux的安装USB盘相关资讯 CKEditor Struts2 CKFinder
- Struts2数据验证机制 (今 10:42)
- ssh(sturts2_spring_hibernate) 框 (09月07日)
- Struts2一个实例中遇到的问题 (07月14日)
| - Struts2数据校验 (今 10:39)
- CKEditor v4.5.10 发布下载,可视 (07月14日)
- Struts2 声明式异常处理 (07月13日)
|
本文评论 查看全部评论 (0)