JSP:
location.href = "${basePath}/ratingFin/financialReport!downLoadBatchFinTemplate.action
XML:
<result name="downLoadBatchFinTemplate" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">1024</param>
<param name="inputName">fileIns</param>
</result>
ACTION:
private InputStream fileIns;
private String fileName;
public InputStream getFileIns() {
return fileIns;
}
public void setFileIns(InputStream fileIns) {
this.fileIns = fileIns;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
eg:
/**
* 下载导入模板
* @return
*/
public String downLoadFinTemplate() {
String tablePhyName = this.financialReportService.getTablePhyName(condition);
try{
fileName = tablePhyName+".xls";
String fileUrl = ServletActionContext.getServletContext().getRealPath(FinConstants.FIN_DOWNLOAD_TEMPLATE)+File.separator+fileName;
File file = new File(fileUrl);
String tmpFileName = FinConstants.FIN_REPORT_PERTYPE_MAP.get(condition.getPersionType());
fileName = tmpFileName.split("SP")[0]+"("+tablePhyName+").xls";
fileName = DownLoadUtil.transFileName(fileName, super.getAppRequest());
if (file.exists()) {
fileIns = new FileInputStream(file);
}
} catch(Exception e){
log.error("FinancialReportAction.downLoadFinTemplate error", e);
} finally {
}
return "downLoadFinTemplate";
}