freemarker简单应用
一个项目用到freemarker于是在此mark一下,还是直接上代码。
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"); }}
模板文件
<!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用法还是相当简单的。
页:
[1]