由于struts2的默认配置中过滤所有的url请求即"/*"所以fck editor 的servlet 处理类被struts过滤掉了;
一个不用修改struts 配置为*.action的方法
过滤器代码
public class FCKFilter extends StrutsPrepareAndExecuteFilter {
public void doFilter(ServletRequest req,ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String URI = request.getRequestURI();
String[] uriArray = URI.split("/fckeditor/editor/filemanager/connectors/");
int arrayLen = uriArray.length;
if (arrayLen >= 2) {
chain.doFilter(req, res);
}else {
super.doFilter(req, res, chain);
}
}
}
xml配置改为
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.test.FCKFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>com.olympus.sapg.smtinnovation.action</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>