freemarker入门实例
2024-08-27 04:44:56
freemarker入门实例
1、设计思路
(1)新建Maven Project
(2)生成freemarker模板
(3)写freemarker页面ftl文件
(4)写测试文件
2、新建Maven Project
3、生成freemarker模板
FreemarkerTemplate.java:
/** * @Title:FreemarkerTemplate.java * @Package:com.you.freemarker * @Description:freemarker模板 * @author:Youhaidong(游海东) * @date:2014-5-25 下午11:18:00 * @version V1.0 */ package com.you.freemarker; import java.io.IOException; import java.io.PrintWriter; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.Template; import freemarker.template.TemplateException; /** * 类功能说明 * 类修改者 修改日期 * 修改说明 * <p>Title:FreemarkerTemplate.java</p> * <p>Description:游海东个人开发</p> * <p>Copyright:Copyright(c)2013</p> * @author:游海东 * @date:2014-5-25 下午11:18:00 * @version V1.0 */ public class FreemarkerTemplate { /** * 生成freemarker模板文件 * @Title:getTemplate * @Description: * @param:@param name * @param:@return * @return:Template * @throws */ public Template getTemplate(String name) { try { //通过FreeMarker的Configuration读取相应的FTL Configuration conf = new Configuration(); //设置去哪里读取相应的ftl模板文件 conf.setClassForTemplateLoading(this.getClass(), "/com/you/ftl"); //在模板文件目录中找到名称为name的文件 Template temp = conf.getTemplate(name); return temp; } catch (IOException e) { e.printStackTrace(); } return null; } /** * 将结果输出到控制台 * @Title:printFtl * @Description: * @param:@param name * @param:@param root * @return: void * @throws */ public void printFtl(String name,Map<String,Object> root) { try { //通过Template可以将模板文件输出到相应的流 Template temp = this.getTemplate(name); temp.process(root, new PrintWriter(System.out)); } catch (TemplateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
4、写freemarker页面ftl文件
user.ftl:
姓名:${username} 年龄:${age} 性别:${sex}
5、写测试文件
FreemarkerTest.java:
/** * @Title:FreemarkerTest.java * @Package:com.you.test.freemarker * @Description:Freemarker测试 * @author:Youhaidong(游海东) * @date:2014-5-25 下午11:32:15 * @version V1.0 */ package com.you.test.freemarker; import java.util.HashMap; import java.util.Map; import org.junit.Before; import org.junit.Test; import com.you.freemarker.FreemarkerTemplate; /** * 类功能说明 * 类修改者 修改日期 * 修改说明 * <p>Title:FreemarkerTest.java</p> * <p>Description:游海东个人开发</p> * <p>Copyright:Copyright(c)2013</p> * @author:游海东 * @date:2014-5-25 下午11:32:15 * @version V1.0 */ public class FreemarkerTest { FreemarkerTemplate ft; /** * * @Title:buildUp * @Description:实例化对象 * @param: * @return: void * @throws */ @Before public void buildUp() { ft = new FreemarkerTemplate(); } /** * * @Title:testFreemarker * @Description:测试结果 * @param: * @return: void * @throws */ @Test public void testFreemarker() { //创建数据模型 Map<String,Object> root = new HashMap<String,Object>(); //为数据模型添加值 root.put("username", "张三"); root.put("age", "22"); root.put("sex", "男"); //将数据模型和模板中的数据输出到控制台 ft.printFtl("user.ftl", root); } }
6、测试结果
姓名:张三 年龄:22 性别:男
最新文章
- hdu 2066
- [转] spring @Entity @Table
- swift 枚举类型
- JAVA 子父类的特点
- POJ3352 Road Construction (双连通分量)
- Code Forces 711D Directed Roads
- Eclipse 打开时“发现了以元素&#39;d:skin&#39;”开头的无效内容。此处不应含有子元素(转)
- igmpproxy源码学习——igmpProxyInit()
- css小技巧,如何制作一个箭头符号
- html5 Canvas画图3:1px线条模糊问题
- 入坑以来最清晰的this指南[老哥们来交流指正]
- IIS发布网站浏览之后看到的是文件目录 &; Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 &; App_global.asax.pduxejp_.dll”--“拒绝访问。 ”
- NGINX详解
- reinterpret_cast,static_cast, dynamic_cast,const_cast的运用分析
- Android开发指南--0 总览
- Oracle保留小数点后两位的几种方法
- DWM1000 自动应答代码实现与实例
- TCP-IP详解笔记3
- NGUI与特效的层级关系
- IP、TCP、DNS协议