当前位置: 代码迷 >> J2EE >> 急struts2上传zip文件找不到解决方案
  详细解决方案

急struts2上传zip文件找不到解决方案

热度:50   发布时间:2016-04-22 02:11:26.0
急啊,struts2上传zip文件找不到
搞了一下午,郁闷死了。
Java code
    <action name="importData" class="importDataAction">                <result name="init">                /jsp/3_importData/import_data.jsp            </result>            <interceptor-ref name="defaultStack"/>              <!-- 限制文件上传大小和类型 -->              <interceptor-ref name="fileUpload">                  <param name="maximumSize">10485760</param>                  <param name="allowedTypes">                      application/msword,application/pdf,application/zip,application/x-zip-compressed                </param>              </interceptor-ref>         </action>

Java code
public class ImportDataAction implements Action {    private ImportDataService importDataService;            private File csvDataFile;                      public void setCsvDataFile(File csvDataFile) {        this.csvDataFile = csvDataFile;    }    public File getCsvDataFile() {        return csvDataFile;    }public String importCsvData() throws IOException {        importDataForm.setCsvDataPath(csvDataFile.getPath()); //csvDataFile为null                return "init";    }


HTML code
    <s:form action="importData!importCsvData" enctype ="multipart/form-data">            <table>                <tr>                    <td>导入csv基础数据(ZIP格式)</td>                </tr>                <tr>                    <td>                        <s:file name = "csvDataFile" ></s:file><s:submit value="提交"></s:submit>                    </td>                </tr>            </table>        </s:form>

是哪里配错了啊?

------解决方案--------------------
你的Action里面的方法没有执行啊,纠结啊,肯定获取不到文件的路径了啊 ,你的配置文件有错啊“<action name="importData" class="importDataAction">”中间少了一个属性啊,默认调用的方法是execute这个方法,可是你的Action里面没有这个方法啊,你用的是importCsvData()这个方式,当然找不到了啊,所以。。。。。、。

------解决方案--------------------
<action name="importData" class="importDataAction" method="importCsvData">
默认execute方法...
你实现的是Action接口.应该实现execute()方法!
------解决方案--------------------
探讨
<action name="importData" class="importDataAction" method="importCsvData">
默认execute方法...
你实现的是Action接口.应该实现execute()方法!

------解决方案--------------------
楼上们说的对
------解决方案--------------------
对对对,就是这回事
------解决方案--------------------
你这是跳转页面吗
  相关解决方案