第1章 FreeMarker快速入门
1-1 模板引擎与Freemarker
◆ 模板引擎的目标是“数据 + 模板 = 结果”
◆ 模板引擎将数据与展现有效“解耦”
主流模板引擎
◆ Java Server Page
◆ Freemarker
◆ Beetl
Freemarker
◆ Freemarker是免费开源的模板引擎技术
◆ Freemarker脚本为Freemarker Template Language
◆ Freemarker提供了大量的内建函数来简化开发
1-2 Freemarker快速上手
Freemarker.
项目中添加 freemarker.jar
创建类:FreemarkerSample1.java
创建File:sample1.ftl(Freemarker的模板文件)
首次创建,提示安装编辑器,Freemarker IDE from JBoss Tools 1.5
${site}-${url}
FreemarkerSample1.java
public class FreemarkerSample1 {
public static void main(String[] args)
throws TemplateNotFoundException, MalformedTemplateNameException, ParseException, IOException,
TemplateException {
// 1.加载模版
// 创建核心配置对象
Configuration config = new Configuration(Configuration.VERSION_2_3_30);
// 设置加载的目录
config.setClassForTemplateLoading(FreemarkerSample1.class, "");
// 得到模板对象
Template t = config.getTemplate("sample1.ftl");
// 2.创建数据
Map<String, Object> data = new HashMap<String, Object>();
data.put("site", "百度");
data.put("url", "http://www.baidu.com");
// 3.产生输出
t.process(data, new OutputStreamWriter(System.out));
}
}
第2章 FreeMarker基本语法
2-1 FTL取值
${属性名}
取值,可对属性进行计算
${属性名!默认值}
使用默认值
${属性名?string}
格式化输出
data.put("date", new Date());
data.put("number", 8345271.897251);
Map info = new HashMap();
info.put("cpu", "i5");
Computer c1 = new Computer("1234567" , "ThinkPad" , 1 , "李四" , new Date() , 12900f , info);
data.put("computer", c1);
${
date?string("yyyyMMdd")}
${
number?string("0.00")}
SN:${
computer.sn}
型号:${
computer.model}
状态:${
computer.state}
用户:${
computer.user}
采购时间:${
computer.dop?string("yyyy年MM月dd日")}
采购价格:${
computer.price?string("0.00")}
配置信息:
--------------
CPU:${
computer.info["