dreamShow 发表于 2013-2-7 19:07:42

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]
查看完整版本: freemarker简单应用