ckeditor与struts结合的时候,需要注意Struts的filter将会处理上传文件,而导致无法正常上传文件
推荐解决方案,
重写struts的StrutsPrepareAndExecuteFilter
对应在web.xml中修改
推荐解决方案,
重写struts的StrutsPrepareAndExecuteFilter
- import java.io.IOException;
- import javax.servlet.FilterChain;
- import javax.servlet.ServletException;
- import javax.servlet.ServletRequest;
- import javax.servlet.ServletResponse;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
- /**
- *
- * 解决图片上传bug的struts过滤器
- *
- */
- public class MyStruts2Filter extends StrutsPrepareAndExecuteFilter{
- @Override
- public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException {
- HttpServletRequest request = (HttpServletRequest) arg0;
- String uri = request.getRequestURI();
- if(uri.endsWith("/ckfinder/core/connector/java/connector.java")){//其他在线编辑器也可能存在此情况,依此方法解决
- chain.doFilter(arg0, arg1);
- }else{
- super.doFilter(arg0, arg1, chain);
- }
- }
- }
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
/**
*
* 解决图片上传bug的struts过滤器
*
*/
public class MyStruts2Filter extends StrutsPrepareAndExecuteFilter{
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) arg0;
String uri = request.getRequestURI();
if(uri.endsWith("/ckfinder/core/connector/java/connector.java")){//其他在线编辑器也可能存在此情况,依此方法解决
chain.doFilter(arg0, arg1);
}else{
super.doFilter(arg0, arg1, chain);
}
}
}
对应在web.xml中修改
- <filter>
- <filter-name>struts2</filter-name>
- <!-- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>-->
- <filter-class>MyStruts2Filter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
<filter>
<filter-name>struts2</filter-name>
<!-- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>-->
<filter-class>MyStruts2Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>