问题描述:前段时间在struts2下做文件上传,当上传大文件时出现了几个问题。
问题1: 当有大文件上传时,即超过struts2配置的最大值时会报出一段英文的出错信息, "the request was rejected because its size ..."
问题2: 由于错误的产生,原来页面上输入的内容也全部不见了,也就是说参数(params)注入失败。
解决方法:解决第一个问题的方法挺多,现只列举最简便的方法。
解决方案1: 解决方法在上传文件的的action加入对addActionError方法的重写。
代码如下:
/**
* 替换文件上传中出现的错误信息 引用 import java.util.regex.Matcher; import
* java.util.regex.Pattern;
*
*/
@Override
public void addActionError(String anErrorMessage) {
// 这里要先判断一下,是我们要替换的错误,才处理
if (anErrorMessage
.startsWith("the request was rejected because its size")) {
Matcher m = Pattern.compile(