commons-io在struts框架中无法获取upload.parseRequest(request)

commons-io在struts框架中无法获取upload.parseRequest(request)上传的文件的主要原因是因为struts将request进行了封装,在文件上传时struts会将HttpServletRequest请求被转成了MultiPartRequestWrapper,所以如需使用request,则需要将struts封装好的的MultiPartRequestWrapper转换成HttpServletRequest,这里需要实行两部操作:
    操作一:创建java类,继承JakartaMultiPartRequest,代码如下:
                public class RequestParseWrapper extends JakartaMultiPartRequest {

public void parse(HttpServletRequest servletRequest, String saveDir)throws IOException{
    }
}

    操作二:在struts配置文件里添加上,代码如下:
                <!-- 出来文件上传时servletFileUpload.parseRequest(request)取不到值的问题 -->

    <bean type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest"
  name= "myRequestParser" class= "com.turui.util.RequestParseWrapper"
  scope= "default" optional= "true " />
<constant name= "struts.multipart.handler" value= "myRequestParser" />
这里的class是指操作一创建的java类

posted on 2014-12-09 17:29  静以修身!  阅读(250)  评论(0编辑  收藏  举报

导航