java类里写个方法,读取文件,把文件读成byte数组,
public void loads(){
HttpServletResponse response = ServletActionContext.getResponse();
String ss = "haha";
byte[] bs = ss.getBytes();
response.setHeader("Content-Type", "application/force-download");
response.setHeader("Content-Disposition", "attachment; filename=\"文件名\"");
response.getOutputStream.write(bs);
}
jsp里主要写个请求方法
<s:form name="downFileForm" method="get" action="/commonopermanage/generalinfobook_downCommonFile" target="REPORTRESULTFRAME">
<s:hidden name="productcode"></s:hidden>
<s:hidden name="downFileName"></s:hidden>
<s:hidden name="mbflag"></s:hidden>
</s:form>
<iframe name="REPORTRESULTFRAME" scrolling="auto" style="overflow:auto" width="100%" height="100%" frameborder="0">
</iframe>
前面在调用downFileForm.submit();就可以下来啦! 看来看去就response.setHeader("Content-Type", "application/force-download");这一步是关键...