首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

UEditor 与Struts2 结合下传有关问题解决

2012-12-25 
UEditor 与Struts2 结合上传问题解决? ? ? ? UEditor 源码自带一个上传的jsp代码,详见ueditor的“/ueditor1

UEditor 与Struts2 结合上传问题解决

? ? ? ? UEditor 源码自带一个上传的jsp代码,详见ueditor的“/ueditor1_2_4_0-utf8-jsp/jsp/”目录下的imageUp.jsp 及fileUp.jsp文件。但是如果项目中使用了Apache Struts2框架,将/* 过滤 ,由于该框架默认使用Apache的Commons FileUpload组件和内建的FileUploadInterceptor拦截器实现文件上传,将request中的文件域封装到action中的一个File类型的属性中,并删除request中的原有文件域,因此上传文件会失败。

? ? ? ? 自己找很久未找到原因,上网查才明白了.

? ? ? ? 解决办法1,自己写个action 代替原来的jsp文件 ,实现上传

? ? ? ? ? ? ? ? ? ? 2,自定义一个过滤器,单独指定不对/ueditor1_2_4_0-utf8-jsp/jsp/?下的jsp进行过滤;代码示例如下:

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 MyStrutsFilter extends StrutsPrepareAndExecuteFilter {public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain) throws IOException, ServletException {        HttpServletRequest request = (HttpServletRequest) req;        //不过滤的url        String url = request.getRequestURI();        System.out.println(url);        if (url.contains("/mywebapp/ueditor1_2_4_0-utf8-jsp/jsp/")) {            System.out.println("使用自定义的过滤器");            chain.doFilter(req, res);        }else{            System.out.println("使用默认的过滤器");            super.doFilter(req, res, chain);        }    }}
?

?

struts过滤器的配置改为

<filter>  <filter-name>struts2</filter-name>  <filter-class>  com.sufeng.ahan.util.MyStrutsFilter  </filter-class>  </filter>  <filter-mapping>  <filter-name>struts2</filter-name>  <url-pattern>/*</url-pattern>  </filter-mapping>
?

?

?

热点排行