我在进程完成后关闭wait.jsp时遇到问题。配置工作正常,成功结果到另一个页面。
但是,在处理文件下载时,文件由客户端完成下载,但等待页面仍在那里。我想拥有它 自动关闭。我搜索过但没有运气。 有人可以帮忙。
答案 0 :(得分:0)
Struts2似乎处理结果成功到另一个页面而不是结果流。所以这就是我的工作。
struts.xml中
<action name="DownloadReport" class="com.actionet.fivs.action.DownloadReportAction">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="params" />
<interceptor-ref name="execAndWait">
<param name="delay">100</param>
<param name="delaySleepInterval">50</param>
</interceptor-ref>
<result name="wait">/WEB-INF/jsp/wait.jsp</result>
<result name="success" type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${fileName}" </param>
<param name="bufferSize">4096</param>
</result>
wait.jsp
<meta http-equiv="refresh" content="2;url=<s:url includeParams="all" />"/>
//jquery to close the window when Action with success response
$(document).ready(function() {
$.ajax( {
traditional: true,
type: "POST",
url: "DownloadReport.action",
data:"reportName="+reportName,
dataType: "text",
success: function(data, success) {
if(data.indexOf("success") > -1){
setTimeout(function() {
window.open('','_self','');
window.close();
return false;
}, 5000);
}
}
});
});