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

本文介绍如何针对不同版本的Struts2框架配置大文件上传功能。针对2.3.4及2.3.15.1之后的版本,详细说明了所需的配置项与自定义解析器实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如果struts2是

status2.3.4

配置文件struts.xml里加上

?
1
2
3
4
< 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"   />

?
1
2
3
public class RequestParseWrapper  extends JakartaMultiPartRequest   {
public void 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配置文件中加上

?
1
2
3
4
< 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  

?
1
2
3
4
public class RequestParseWrapper  extends JakartaMultiPartRequest   {
p<span></span>ublic void parse(HttpServletRequest   servletRequest,   String   saveDir) throws  IOException{  
         }   
}

分析原因


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值