freemarker简单应用

发布于 2022-10-15 10:18:37 字数 4504 浏览 38 评论 0

一个项目用到freemarker于是在此mark一下,
还是直接上代码。

Java代码

  1. package com.test.freemarker;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.IOException;
  5. import java.io.OutputStreamWriter;
  6. import java.io.Writer;
  7. import java.util.ArrayList;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. import freemarker.template.Configuration;
  12. import freemarker.template.DefaultObjectWrapper;
  13. import freemarker.template.Template;
  14. import freemarker.template.TemplateException;
  15. import freemarker.template.TemplateExceptionHandler;
  16. public class TestFreeMarker {
  17. public static void main(String []args) throws IOException, TemplateException{
  18.         /**
  19.          * freemarker 加载文件
  20.          */
  21.           Configuration cfg = new Configuration();  
  22.           //加载freemarker模板文件  
  23.           cfg.setDirectoryForTemplateLoading(new File("E:/Java/test/WebRoot/templates"));  
  24.           //设置对象包装器  
  25.           cfg.setObjectWrapper(new DefaultObjectWrapper());  
  26.           //设计异常处理器  
  27.           cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);  
  28.           //定义并设置数据  
  29.           Map<String, Object> data = new HashMap<String, Object>();  
  30.           data.put("persion", "godbugs");  
  31.           //获取指定模板文件  
  32.           Template template = cfg.getTemplate("hello.ftl");  
  33.           //定义输入文件,默认生成在工程根目录  
  34.           Writer out = new OutputStreamWriter(new FileOutputStream("E:/Java/test/WebRoot/test.html"),"UTF-8");  
  35.           //写入目标文件中
  36.           //写的是freemarker 生成模板
  37.           List list = new ArrayList();
  38.           list.add("星期一");
  39.           list.add("星期二");
  40.           list.add("星期三");
  41.           data.put("list", list);
  42.           data.put("age", 12);
  43.           template.process(data, out);//写入目标文件
  44.           System.out.println("success");
  45. }
  46. }

复制代码模板文件

Java代码

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.   <head>
  4.     <title>a.html</title>
  5.     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  6.     <meta http-equiv="description" content="this is my page">
  7.     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  8.   </head>
  9. <body>
  10.       这是一个模板文件,欢迎获取${persion}
  11.   <#list list as t>
  12.    ${t}
  13.   </#list>
  14. <#assign age=age><!--模板变量赋值 -->
  15. <#if (age>60)>老年人
  16. <#elseif (age>40)>中年人
  17. <#elseif (age>20)>青年人
  18. <#else> 少年人
  19. </#if><!--用模板去设 -->
  20. </body>
  21. </html>

复制代码freemarker用法还是相当简单的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十六岁半 2022-10-22 10:18:37

freemarker还是比较好用的,顶。。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文