最近有个项目使用struts2进行开发,同时使用了FCKEditor作为HTML编辑器
在使用过程中发现在FCKEditor无法上传文件(已根据其demo进行了设置)。错误提示说没有权限上传文件,通过源码发现返回错误代码203.
通过调试其源码(net.fckeditor.connector.ConnectorServlet ,253行)取得items.size()总是等于0。
调试一天(中间过期略过了),最后发现在问题其实是struts2:
在web.xml中struts2的demo是这样设置
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意红色部分,这里struts2过滤了所有的请求,改成以下内容就OK了:
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
*.action为你struts2的扩展名。
本文解决了一个Struts2项目中FCKEditor无法上传文件的问题。问题出现在struts2过滤器设置不当,导致FCKEditor上传功能被拦截。通过调整web.xml中的过滤器配置,将所有请求过滤改为仅过滤*.action请求,成功解决了上传问题。
127

被折叠的 条评论
为什么被折叠?



