代码之家  ›  专栏  ›  技术社区  ›  astra03

文件上载无法在Struts2-Struts1插件中工作,其设置为NULL

  •  0
  • astra03  · 技术社区  · 11 年前

    我们目前正在模块化地将应用程序从struts 1迁移到struts 2,我们正在使用struts2-strut1插件。

    所有事情似乎都很正常,除了文件,我们得到的文件属性值为NULL。

    我们已经检查了标签下面的所有内容

    JSP代码段

    <s:form name="uploadForm" namespace="/struts2" action="upload" enctype="multipart/form-data" method="post">
        <s:file name="doc" cssClass="genTextValues"/>
        <s:submit/>
    </s:form>
    

    Java操作表单

    public class UploadForm extends ActionForm {             
            private FormFile doc;
            public FormFile getDoc() {
                return doc;
            }
            // its not setting gives null in action form
            public void setDoc(FormFile doc) {
                this.doc = doc;
            }
        }
    

    Struts.xml映射

    <interceptor name="uploadForm" class="com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor">
            <param name="scope">request</param>
            <param name="className">com.form.UploadForm</param>
            <param name="name">uploadForm</param>
        </interceptor>
        <interceptor-stack name="iUploadForm">
            <interceptor-ref name="staticParams" />
            <interceptor-ref name="uploadForm" />
            <interceptor-ref name="modelDriven" />
            <interceptor-ref name="basicStack" />    
        </interceptor-stack>
        <action name="uploadDoc" class="org.apache.struts2.s1.Struts1Action">
            <param name="className">com.test.action.UploadAction</param>
        <interceptor-ref name="iUploadForm"/>
            <result name="Success" type="tiles">Success</result>
        </action>
    

    我们添加了所需的jar,如下所示:

    commons-fileupload.jar
    struts.jar
    struts2-struts1-plugin.jar
    struts2-core.jar (2.16)
    commons-io2.2.jar
    

    其他需要的罐子

    1 回复  |  直到 11 年前
        1
  •  0
  •   Kamil Chaber    11 年前

    没有 fileUpload 您的拦截器 interceptor-stack .

     <interceptor-stack name="iUploadForm">
            <interceptor-ref name="staticParams" />
            <interceptor-ref name="fileUpload"/>
            <interceptor-ref name="uploadForm" />
            <interceptor-ref name="modelDriven" />
            <interceptor-ref name="basicStack" />    
     </interceptor-stack>
    
    推荐文章