Struts2 ExecuteAndWaitInterceptor
Struts2 ExecuteAndWaitInterceptor
我在进程完成后关闭 wait.jsp 时遇到问题。配置工作正常,成功结果到另一个页面。
但是在处理文件下载的时候,文件已经被客户端下载完了,但是等待页面还在。我想拥有它
自动关闭。我已经搜索过但没有运气。
有人可以帮忙吗
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);
}
}
});
});
我在进程完成后关闭 wait.jsp 时遇到问题。配置工作正常,成功结果到另一个页面。
但是在处理文件下载的时候,文件已经被客户端下载完了,但是等待页面还在。我想拥有它 自动关闭。我已经搜索过但没有运气。 有人可以帮忙吗
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);
}
}
});
});