java解析jtl_2.7 jtl的使用

> ## 在java程序中

- 导入freemarker的相关jar包

```

org.freemarker

freemarker

```

1. 首先要创建一个`jtl`模板文件

2. 创建Confuguration类对象,并指定一个版本号,通常通过Confifuretion类里的常量获取。

`Configuration configuration = new Configuration(Configuration.getVersion());`

3. 通过confuguration设置`jtl`文件所在的文件夹地址

`configuration.setDirectoryForTemplateLoading(new File(ftlFilePath));`

4. confuguration设置默认的字符集

` configuration.setDefaultEncoding("UTF-8");`

5. 通过confuguration获取一个模板,传入`jtl`文件名称

`Template template = configuration.getTemplate("fileName.ftl");`

6. 写入数据通常是map,也可是pojo对象

`Map map = new HashMap();`

7. 创建一个Writer对象

`Writer writer = new FileWriter("outputFile");`

8. 通过模板对象process方法处理数据

` template.process(map, writer);`

9. 关闭流

`writer.close();`

* [ ] * 在开发中可以配合InputStreamReader (ByteArrayInputStream)和 OutputStreamWriter(ByteArrayOutputStream)使用。如邮件发送页面。

> ## `jtl`语句

- 获取map数据

`${key}` key为map的键值

- 获取pojo数据

`${key.field}` key为pojo对象存入map的键值,field为存入pojo的属性

- 循环列表

```

// key为list存入map的键值,item为自己定义的遍历对象名称

${item.key|filed} // 无论list存入的是pojo对象还是map对象,都是通过`.`的方式获取值,'.'后面可是键值或者属性

${item_index} // 可以获取当前遍历对象的序号(序号从0开始)

#list>

```

- 判断 `if` `else`语句

```

// 再标签中写判断语句时不需要写${} 如 value!=2

为true时执行到这里

否则执行这里

#if>

```

- 时间显示

`${key?date}` // key为传入时间对象的键值,跟date表示只显示日期

`${key?time}` // key为传入时间对象的键值,跟time表示只显示时间,不显示日期

`${key?datetime}` // key为传入时间对象的键值,跟datetime表示显示日期时间

`${key?string(pattern)}` // key为传入时间对象的键值,表示自己定义时间模板如`${key?string("yyyy年MM月dd日 HH:mm:ss")}`

- 空值处理

`${key!} `//当获取的值为null时,在其后加入'!'表示默认值为`""`

`${key!defaultValue} ` //当获取的值为null时,可以定义默认的值。如 `${key!"123"} `

` # if> ` // 也可使用`if`语句定义空值

- include

`` // jtlName为包含文件名称,如``

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值