1.在struts.xml文件中增加:
<bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"
name="myRequestParser" class="com.xxxx.operate.action.RequestParseWrapper" scope="default"
optional="true " />
<constant name="struts.multipart.parser" value="myRequestParser" />
2.然后在新建一个类:RequestParseWrapper 重写 JakartaMultiPartRequest的 parse方法:
public class RequestParseWrapper extends JakartaMultiPartRequest {
public void parse(HttpServletRequest request, String arg1)
throws IOException {
String url = request.getRequestURI().toString();// 取得请求的URL
if (url.indexOf("xxxxx.action") > 0
|| url.indexOf("xxxx.action") > 0) {
// 不需要struts2的处理
} else {
// 需要struts2的处理,调用回父类的方法
super.parse(request, arg1);
}
}
3.form表单:
<form method="post" action="xxxx.action" ENCTYPE="multipart/form-data" οnsubmit="return submitForm()">
注意:
不能使用ajax上传文件,所以form表单中直接action到相应的action类处理。
}