使用struts-jquery的execAndWait拦截器处理文件时找不到文件源

时间:2013-01-03 14:58:09

标签: struts2 struts2-jquery

使用struts-jquery,我创建了一个页面,允许用户上传excel文件,并在不刷新页面的情况下显示内容。

当我尝试使用execAndWait拦截器将等待页面显示为远程页面时,我收到一个异常,告诉我它无法找到该文件的来源。

有人可以提供答案吗?

更新 我为上传的文件对象

获得了空指针异常
  

java.lang.NullPointerException at   java.io.FileInputStream。(未知来源)

当我尝试将文件对象(来自jsp页面)作为参数传递到下一行

Workbook.getWorkbook(file); 

这是我在struts.xml中的操作

<action name="readExcel" class="th.co.gosoft.gosd.action.ImportDataAction" method="readExcel">
        <interceptor-ref name="execAndWait">
            <param name="delaySleepInterval">500</param>
        </interceptor-ref>
        <result name="wait">/jsp/goSD/wait.jsp</result>
        <result name="success">/jsp/goSD/SearchTable/importPreview.jsp</result>
    </action>

但是当我删除

  

interceptor-ref name =“execAndWait”

一切都很好。

1 个答案:

答案 0 :(得分:2)

这是因为您只使用execAndWait拦截器进行操作。您还需要定义defaultStack

<action name="readExcel" class="th.co.gosoft.gosd.action.ImportDataAction" method="readExcel">
        <interceptor-ref name="defaultStack" />
        <interceptor-ref name="execAndWait">
            <param name="delaySleepInterval">500</param>
        </interceptor-ref>
        <result name="wait">/jsp/goSD/wait.jsp</result>
        <result name="success">/jsp/goSD/SearchTable/importPreview.jsp</result>
</action>