strut1文件上传发现的问题

本文讨论了使用Struts1进行文件上传时遇到的三个问题:1) 当上传文件大小超过struts.xml中设定限制时,表单会被清空;2) 校验失败导致的空白页面问题;3) 使用<html:file>标签时的异常情况。针对这些问题,文中给出了相应的解决方案,包括修改struts.xml配置和调整action路径。

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

我们经常用struts1标签<html:file>来上传文件,上传文件的时候我们通常都要对文件校验,我们可以在actionform或者action里面校验。存在以下问题

 <controller
  processorClass="org.springframework.web.struts.DelegatingRequestProcessor"
  maxFileSize="2M" inputForward="true" />

 <message-resources parameter="rm.g6.mask.action.ApplicationResources" />

 <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
  <set-property property="pathnames"
   value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
  <set-property property="stopOnFirstError" value="true" />
 </plug-in>
问题1:在struts.xml配置文件里面进行文件大小的设置,当你上传的文件大小大于你在struts.xml设置的文件大小时,它就会对你提交的表单进行清空。(原因可能是它会将表单重置清空一次,解决方案暂无)


问题2:还有就是校验不通过的时候,它会跳转到空白页面。这个主要原因是mapping.getInputForward()返还的是null,所以找不跳转的页面。解决方案如下。
  <action path="/requestStatReport" attribute="requestDailyStatReportForm"
   name="requestDailyStatReportForm" parameter="method" scope="request"
   type="rm.g6.mask.action.report.RequestDailyStatReportAction"
   input="show">
   <forward name="show" path="/modules/report/requestStatReport.jsp" />
  </action〉

问题3:struts1标签<html:file>来上传文件,如果你配置<html:form  styleId="appealBill" method="POST" action="${pageContext.request.contextPath}/adhocDepositAppeal.do?method=appealSaveOrUpdate" enctype="multipart/form-data">它会报异常,所以我们必须将action配置成 action="/adhocDepositAppeal.do?method=appealSaveOrUpdate"

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值