这是因为struts2的过滤器,解决方法是自定义一个过滤器
新建一个过滤器的类,代码:
package com.filter;
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;
public class EditorStrutsFilter extends StrutsPrepareAndExecuteFilter{
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String url = request.getRequestURI();
System.out.println(url);
if (url.contains("/jsp/")) {
System.out.println("使用自定义过滤器");
chain.doFilter(req, res);
}else{
System.out.println("使用默认过滤器");
super.doFilter(req, res, chain);
}
}
}
之后在web.xml里面配置struts2过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>com.filter.EditorStrutsFilter</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>
要将其删除
出现上传错误是
1:看下是否是apche的jar冲突,检查一下是否存在多个以commons-io名称开始的jar 2:FileUtils 引用jar是否版本不一致,其中没有你要的方法
这是因为路径问题,可以在jsp/config.json这个文件去改路径
通过“imageUrlPrefix”与“imagePathFormat”这两个属性去拼凑路径。
“imageUrlPrefix”是前缀的意思
如:我遇到的问题是图片回显地址为:
http://localhost:8080/ueditor/jsp/upload/image/......
而正确的地址是:
http://localhost:8080/Spring_3100_Registration_9_bootstrap/ueditor/jsp/upload/image/......
“Spring_3100_Registration_9_bootstrap” 是我项目的名字,所以,我通过配置“imageUrlPrefix”与“imagePathFormat”这两个属性,
将他们设置为:
"imageUrlPrefix": "/Spring_3100_Registration_9_bootstrap/",
"imagePathFormat": "/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}",
就可以正确回显了
如果你还碰到了在线管理不能显示出图片,这是因为jar包的问题,具体可以见
http://shuoit.net/it/18.html