您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > doc模版生成FreeMarker文件
使用FreeMarker技术提供用户下载Word模版文件【摘要】本文主要阐述了使用FreeMarker技术提供用户下载Word模版文件的实践方法和过程。【关键字】Word;FreeMarker;Notepad++编辑器1.Ftl模版生成1)按想要的格式编辑word模版2)然后把该word文件另存为htm/html格式文件3)在word中编辑该htm/html文件,在需要绑定参数的地方替换为${参数名}4)用编辑器Notepad++或者用可以进行字符格式转换的编辑器打开,把内容转换为UTF-8格式,并保存5)修改后缀名为ftl参考文件:proposal.ftl2.文件下载publicvoiddownLoadWord(){try{//设置回复内容类型和回复头this.getResponse().setContentType(application/zip);this.getResponse().setHeader(Content-Disposition,attachment;filename=+URLEncoder.encode(提案下载,UTF-8)+.rar);//设置ftl配置信息Configurationcfg=newConfiguration();Stringpath=SubmittedProposalsAction.class.getClassLoader().getResource().getPath();//设置ftl模版路径cfg.setDirectoryForTemplateLoading(newFile(path+/com/ccc/template));//设置ftl编码格式cfg.setDefaultEncoding(UTF-8);//得到模版对象Templatet=cfg.getTemplate(proposal.ftl);//构造zip输入流ZipOutputStreamzipout=newZipOutputStream(this.getResponse().getOutputStream());//p.setIsDownload(true);StringWritersw=newStringWriter();//构造绑定到ftl模版参数的map对象MapString,ObjectdataMap=newHashMapString,Object();dataMap.put(hj,);t.process(dataMap,sw);//输出zip流ZipEntrye=newZipEntry(URLEncoder.encode(提案下载,UTF-8)+doc名称+.doc);zipout.putNextEntry(e);zipout.write(sw.getBuffer().toString().getBytes(GBK));zipout.closeEntry();//commonBS.batchSaveAndUpdate(null,proposals);zipout.close();}catch(Exceptione){e.printStackTrace();}}下载之后将得到一个经过rar打包的word文档
本文标题:doc模版生成FreeMarker文件
链接地址:https://www.777doc.com/doc-2910195 .html