package edu.sjtu.infosec.ismp.manager.GOSP.web.actions; import java.sql.Timestamp; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.infosec.ismp.manager.rmi.comm.model.SystemModelInfo; import org.infosec.ismp.manager.rmi.lm.pfLog.model.SystemLog; import edu.sjtu.infosec.ismp.manager.GOSP.comm.LogUtil; import edu.sjtu.infosec.ismp.manager.GOSP.comm.StaticFinal; import edu.sjtu.infosec.ismp.manager.GOSP.model.LawsAndRules; import edu.sjtu.infosec.ismp.manager.LM.pfLog.service.SystemLogService; import edu.sjtu.infosec.ismp.manager.comm.comm.reports.ExportToFileOrHtml; import edu.sjtu.infosec.ismp.manager.comm.comm.reports.ReadFile; /** * 下载法律法规的相关信息 * * @author cxk * * Date:2010-11-17 */ @SuppressWarnings("unused") public class DownloadAction extends Action{ /** * 注入Service接口 */ private SystemLogService systemLogService; public void setSystemLogService(SystemLogService systemLogService) { this.systemLogService = systemLogService; } public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response){ /** * 加载日志信息 */ LogUtil.init(); SystemLog log = new SystemLog(); try{ String fileUrl=""; String fileName=""; String absolutePath = StaticFinal.PATH ; fileName = new String((request.getParameter("Name")).getBytes("iso8859-1"),"UTF-8"); request.setAttribute("fileName", fileName); System.out.println("下载的文件名字--"+fileName); /** * 拼接下载绝对路径 * path--静态常量 * fileName--页面传入 */ fileUrl = absolutePath+"/"+fileName; System.out.println("下载文件的路径------:"+fileUrl); response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GBK"),"iso8859-1")); ReadFile.readFileToOutputStream(response.getOutputStream(),fileUrl); ExportToFileOrHtml export = new ExportToFileOrHtml(); // export.exportToRtfFile(request, jrxmlFilePathList, reportFilePath, params, outPutFileUrl); /** * 加入日志相关的信息 */ log.setUsername(LogUtil.userName); log.setRoleName(LogUtil.roleName); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_GOSP); log.setOperationDesc("下载文件:"+fileName); log.setControl("成功!"); systemLogService.saveSystemLog(log); }catch(Exception e){ String fileName = request.getAttribute("fileName").toString(); log.setUsername(LogUtil.userName); log.setRoleName(LogUtil.roleName); log.setTime(new Timestamp(new Date().getTime())); log.setModuleName(SystemModelInfo.MOD_GOSP); log.setOperationDesc("下载文件:"+fileName); log.setControl("失败!"); systemLogService.saveSystemLog(log); e.printStackTrace(); } return null; } }