本技术资料版权所有,禁止分发.©(2003-2007),重庆软航科技有限公司,保留所有权利.NTKO和软航是软航科技的商标

NTKO OFFICE文档控件技术资料

用Struts2在后台获取文件为空解决方案


创建时间:12/12/2013 04:59:19 PM 修改时间: 08/06/2015 04:35:48 PM
分类:BS开发-常见问题, BS开发-开发入门及架构, BS开发-开发技巧, BS客户端-JavaScript控制Word, BS客户端-JavaScript控制Excel, BS后台开发-Domino平台, BS后台开发-JSP,J2EE开发, BS后台开发-C#.NET,VB.NET, BS后台开发-PHP开发
适应版本号:4,0,6,X; 4,0,3,X; 4,0,1,X; 4,0,0,X; 3,0,0,x

相关文档:本文档没有相关文档



1.问题表现:

    当用Struts2框架集成控件功能时,前台post后台的文件获取不到,为null.

2.原因分析:

    由于Struts2在得到request时进行了封装,不是原始的request了.

3.解决方案:

    在Struts.xml中加上如下配置:

    <constant name="struts.action.excludePattern" value="MaxFileAction.action"/>

    <bean type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest"

    name= "myRequestParser" class= "com.action.RequestParseWrapper"

    scope= "default" optional= "true" />

    <constant name= "struts.multipart.parser" value= "myRequestParser" />

    <constant name="struts.multipart.saveDir" value="d:/tmp"/>

    在com.action包下新建一个RequestParseWrapper类,代码如下:


      package com.action;

      import java.io.IOException;

      import javax.servlet.http.HttpServletRequest;

      import org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest;

      public class RequestParseWrapper extends JakartaMultiPartRequest{

      public void parse(HttpServletRequest servletRequest, String saveDir)throws IOException

      {

      System.out.println("this is RequestParseWrapper");

      }

      }


返回页面顶部↑  
本文档的相关文档: 本文档没有相关文档