action通过VM生成文件并导出

Posted 小立攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了action通过VM生成文件并导出相关的知识,希望对你有一定的参考价值。

//引擎
VelocityEngine ve = new VelocityEngine();
Properties props = new Properties();        
props.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, this.httpRequest.getSession().getServletContext().getRealPath("/") + "templates");
		
ve.init(props);
		
Map<String, Object> param = new HashMap<String, Object>();
param.put("currentYear", reportDate.substring(0, 4));

VelocityContext context = new VelocityContext();
context.put("param", param);
		
Template template = ve.getTemplate("monthSafeReport.vm","UTF-8");		
try 

    this.httpResponse.setContentType("application/vnd.ms-word;charset=UTF-8");
    this.httpResponse.setHeader("Content-Disposition", "attachment;filename=\\""
			+ URLEncoder.encode("测试.doc", "UTF-8")
			+ "\\"");
    OutputStream out = this.httpResponse.getOutputStream(); 
    Writer write = new OutputStreamWriter(out,"UTF-8");
    
    //转换输出
    template.merge(context, write);
    
    template.process();
    
    out.flush();
    write.flush();
    out.close();
    write.close();
 
catch (Exception e) 

    e.printStackTrace();

以上是关于action通过VM生成文件并导出的主要内容,如果未能解决你的问题,请参考以下文章

Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件

easyui datagrid导出Excel 有啥好的解决方法吗

错误记录exe4j 导出的 exe 可执行程序乱码 ( Configure Java Invocation VM Parameters 配置 -Dfile.encoding=GBK 编码 )

vbox虚拟机vdi文件用VMware打开

vbox虚拟机vdi文件用VMware打开

在前台怎么通过js实现表单提交后,判断该提交调用的Action方法是不是执行完成了