struts2 上传文件 parseRequest()解析request为空 解决办法

来源:互联网 发布:淘宝更改付款方式 编辑:程序博客网 时间:2024/05/17 01:32

struts2上传文件 List items = upload.parseRequest(request),items为空。解决办法

1、如果struts2是

status2.3.4

配置文件struts.xml里加上
<bean   type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest" name= "myRequestParser"   class= "com.icf.common.base.actions.RequestParseWrapper" scope= "default"   optional= "true "   /> <constant   name= "struts.multipart.handler"   value= "myRequestParser"   />

创建一个自己的类RequestParseWrapper  
public class RequestParseWrapper  extends JakartaMultiPartRequest   {publicvoid parse(HttpServletRequest   servletRequest,   String   saveDir)throws   IOException{       } }


2、如果struts2是
struts2.3.15.1 以后的版本
在struts2.3.15.1后的配置里,struts2的struts-default.xml 里把 struts.multipart.handler 改成了struts.multipart.parser 
在struts配置文件中加上
<bean   type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest" name= "myRequestParser"   class= "com.icf.common.base.actions.RequestParseWrapper" scope= "default"   optional= "true "   /> <constant   name= " struts.multipart.parser"   value= "myRequestParser"   />
创建一个自己的类RequestParseWrapper  
public class RequestParseWrapper  extends JakartaMultiPartRequest   {publicvoid parse(HttpServletRequest   servletRequest,   String   saveDir)throws   IOException{       } }



分析原因
struts2的源代码对request对象进行了封装,导致fileList = upload.parseRequest(request);获取不到上传的对象




原创粉丝点击