我的应用程序基于struts,我在生成pdf和excel格式的报告模块之一。报告在系统目录中生成,但下载弹出窗口不会出现在浏览器上。
这是我的.xml动作映射
<action name="report" class="reportAction" method="generateReport">
<result name="success" type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">fileInputStream</param>
<param name="contentDisposition">attachment;filename=${filename}</param>
<param name="bufferSize">1024</param>
</result>
<result name="error">
</result>
</action>
这是我对jsp的行动: -
function fetchReport()
{
//alert("I am here");
$.ajax({
type : "POST",
url : "report.action",
data : jQuery("#parameterGrid").serialize(),
async : false,
success : function(dataJSP) {
//alert("Hi");
//alert(dataJSP);
/* jQuery("#showReportDIV").load("Please wait...").html(
dataJSP); */
return true;
}
});
}
现在我已将我生成报告的点击事件的按钮更改为: -
<sj:submit button="true"
theme="simple" onclick= "fetchReport();" key="Generate Report" />
现在出现弹出窗口,但下载了平面文件,我必须浏览以excel或pdf打开它