Ueditor上传照片数据不存在:因为 struts2 会把 ueditor 的上传路径给过滤掉,导致不能正常上传。
解决方法步骤:A.自定义过滤器UeditorFilter.java(随便在一个包下)
代码为:
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;
publicclass UeditorFilter extends StrutsPrepareAndExecuteFilter{
publicvoid doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException{
HttpServletRequest request =(HttpServletRequest) req;
String url =request.getRequestURI();
if (url.contains("/utf8-jsp/jsp/controller.jsp")) {
// "/utf8-jsp/jsp/controller.jsp"为编辑器文件下的jsp文件下的 controller.jsp
chain.doFilter(req, res);
}else{
super.doFilter(req, res, chain);
}
}
}
A.web.xml配置改为:
<filter>
<filter-name>struts2</filter-name>
<!-- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>-->
<filter-class>com.struts2.user.action.UeditorFilter</filter-class> <!-- 此处为上面自定义的过滤器所在的class-->
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
B.Jar包冲突解决:
将common-io和common-upload低版本的删除(struts为低版本,ueditor为高版本,也可不引入struts2低版本的这两个jar包),删除要彻底,包括Tomcat/webapps相关工程lib下的这两个jar包的删除