Freemarker
Freemarker是一款模板引擎,是一种基于模版生成静态文件的通用工具.
操作步骤
//创建配置类
Configuration configuration = new Configuration(Configuration.getVersion());
//加载模板文件位置
configuration.setDirectoryForTemplateLoading(new File("D:/ftl"));
//设置编码
configuration.setDefaultEncoding("utf-8");
//加载模板文件
Template template = configuration.getTemplate("hello.txt");
//初始化数据
Map<String,String> data = new HashMap<String,String>();
data.put("title", "Hello World!");
Writer out = new FileWriter(new File("D:/ftl/ss.txt"));
//向模板写入数据
template.process(data, out);
out.close();
Freemarker操作
赋值
<#assign name = value>
取值
${name} 正常取值
${name!"defaultValue"} 对null\不存在的对象取值
${user.name} 对象属性取值
${date?String('yyyy-mm-dd')} date格式化
${var?html} 转义html
${boolean?String('yes','no')} 转义html
循环
<#list userList as user>
${user.name}
</#list>
<#list map?keys as key>
${key} ${map[key]}
</#list>
if
<#if value > 1>
分支1
<#elseif vale == 0>
分支2
<#else>
分支3
</#if>
<#if list??> 判断list是否存在
switch
<#switch>
<#case value1>
<#break>
<#case value2>
<#case value3>
<#default>
</switch>
逻辑
! || &&
字符串操作
连接 +
截取 s.substring(5,8)
长度 s.length
大写 s.upper_case
小写 s.lower_case
首字母大写 cap_first()
首字母匹配 starts_with
末字母匹配 ends_with
分隔 split
去除空格 trim
包含 contains
位置 s.index_of() s.last_index_of()
替换 s.replaceof()
转时间 date time datetime
List操作
list?sort 排序
list?size 长度
list?reverse 翻转
list[index] 下表取值