JAVA如何实现集成Freemarker生成静态html
小编这次要给大家分享的是JAVA如何实现集成Freemarker生成静态html,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
成都创新互联是一家专注于网站建设、成都网站建设与策划设计,莘县网站建设哪家好?成都创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:莘县等地区。莘县做网站价格咨询:18982081108
Springboot
1.引入Freemarker jar包
org.springframework.boot spring-boot-starter-freemarker
2.配置application.properties
### freemarker spring.freemarker.templateLoaderPath=classpath:/templates/ spring.freemarker.suffix=.ftl spring.freemarker.charset=UTF-8 spring.freemarker.request-context-attribute=request spring.freemarker.settings.number_format=0.##########
3.创建ftl文件

在resource文件下新增文件夹templates,在templates文件夹下存放ftl文件,例如:
FreeMarker Simple project
${key}
4.新建controller调用方法
@SuppressWarnings("unchecked")
@RequestMapping(value="/test",method=RequestMethod.GET)
public String test(Model model,HttpServletRequest request) {
model.addAttribute("key","test project");
return "test";
}
5.生成html静态文件
使用工具类:
/** * @param modeName 模板名称 * @param targetFileName 生成后的HTML名称 * @param params 传入模板的参数 * @Author: zy * @Date: 2020-6-4 09:39:47 * @Description:生成静态页面 */ public void createHtmlByMode(String modeName, String targetFileName, Mapparams) { Writer out = null; // 找到服务器缓存目录,可以自己指定目录 String folder = PropertisUtil.getApplicationProperties("healthReport.logs.urls") + targetFileName; // 通过匹配路径格式拼接完整生成路径 String outFile = folder; try { File file = new File(outFile); // 生成空HTML文件 if (!file.exists()) { file.createNewFile(); } // 创建模版对象 Template template = cfg.getTemplate(modeName); // 设置输出流 out = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");// 设置编码 UTF-8 // 模版数据插入参数,通过输出流插入到HTML中 template.process(params, out); } catch (Exception e) { e.printStackTrace(); } finally { if (null != out) { try { out.flush(); out.close(); } catch (IOException e) { e.printStackTrace(); } } } }
修改controller中的方法:
@SuppressWarnings("unchecked")
@RequestMapping(value="/test",method=RequestMethod.GET)
public String test(Model model,HttpServletRequest request) {
model.addAttribute("key","test project");
//生成静态文件
Map param=new HashMap();
param.put("key", "我是被生成的静态文件");
createHtmlByMode("test.ftl","test.html",param);
return "test";
}实现效果(我这里默认保存到d:/testlogs):


Springmvc(和springboot大致相同,此处只留下配置)
1.引入Freemarker jar包
org.springframework spring-context-support 3.2.4.RELEASE org.freemarker freemarker 2.3.25-incubating
2.springmvc配置
1 zh_CN yyyy-MM-dd yyyy-MM-dd #.##
3.调用方式
/**返回模板信息*/
@SuppressWarnings("unchecked")
@RequestMapping(value="/test",method={RequestMethod.GET})
public ModelAndView test(HttpServletRequest request) {
ModelAndView mv = new ModelAndView();
//设置参数
mv.addObject("key", "测试freemarker");
//配置模板
mv.setViewName("test");
return mv;
}看完这篇关于JAVA如何实现集成Freemarker生成静态html的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
文章标题:JAVA如何实现集成Freemarker生成静态html
浏览地址:http://www.jxjierui.cn/article/ggegie.html


咨询
建站咨询
