freemarker简单应用
一个项目用到freemarker于是在此mark一下,
还是直接上代码。
Java代码
- package com.test.freemarker;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.OutputStreamWriter;
- import java.io.Writer;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import freemarker.template.Configuration;
- import freemarker.template.DefaultObjectWrapper;
- import freemarker.template.Template;
- import freemarker.template.TemplateException;
- import freemarker.template.TemplateExceptionHandler;
- public class TestFreeMarker {
- public static void main(String []args) throws IOException, TemplateException{
- /**
- * freemarker 加载文件
- */
- Configuration cfg = new Configuration();
- //加载freemarker模板文件
- cfg.setDirectoryForTemplateLoading(new File("E:/Java/test/WebRoot/templates"));
- //设置对象包装器
- cfg.setObjectWrapper(new DefaultObjectWrapper());
- //设计异常处理器
- cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);
- //定义并设置数据
- Map<String, Object> data = new HashMap<String, Object>();
- data.put("persion", "godbugs");
- //获取指定模板文件
- Template template = cfg.getTemplate("hello.ftl");
- //定义输入文件,默认生成在工程根目录
- Writer out = new OutputStreamWriter(new FileOutputStream("E:/Java/test/WebRoot/test.html"),"UTF-8");
- //写入目标文件中
- //写的是freemarker 生成模板
- List list = new ArrayList();
- list.add("星期一");
- list.add("星期二");
- list.add("星期三");
- data.put("list", list);
- data.put("age", 12);
- template.process(data, out);//写入目标文件
- System.out.println("success");
- }
- }
复制代码模板文件
Java代码
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>a.html</title>
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="this is my page">
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- </head>
- <body>
- 这是一个模板文件,欢迎获取${persion}
- <#list list as t>
- ${t}
- </#list>
- <#assign age=age><!--模板变量赋值 -->
- <#if (age>60)>老年人
- <#elseif (age>40)>中年人
- <#elseif (age>20)>青年人
- <#else> 少年人
- </#if><!--用模板去设 -->
- </body>
- </html>
复制代码freemarker用法还是相当简单的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
freemarker还是比较好用的,顶。。。