博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Java模板引擎之Freemarker

Posted on 2018-02-12 11:22  激流勇进、  阅读(320)  评论(0编辑  收藏  举报
Freemarker定义: 一款模板引擎
Freemarker是一个web图层组件不是web框架,解析服务端数据到页面

 

  小例子:

<#list 集合 as item> list标签对集合进行遍历
<li>${item.name}</li>
<li>item.birthday?string('yyyy-MM-dd')}</li> 日期格式化,"?string"表示调用方法格式化时间

 

java中常用的数据模型:

 

取值指令:

 

 

对于boolean类型的变量,在页面中显示的是yes,因为显示true会让页面报错。这需要在配置文件中进行转换配置。

 

 

Freemarker支持的是java.sql.Date,可以直接输出,如果使用java.util.Date会报错,
可以这样处理:1 使用java.sql.Date转换 2 在模板中使用?string('yyyy-MM-dd')进行转换

${var!默认值}
默认值只在null或变量不存在时输出


定义一个变量:       <#assign var=value>

${var?html}
对var变量值里的html标签进行转义,并输出富文本
   富文本指html标签和文

!判断最近变量是否存在。不存在就不输出。可以避免错误信息  例如取自定义变量的值:${user.name!}这样只能判断name是否存在,如果user也不存在的话就会报错,

但我们可以用()把user.name包起来,${(user.name)!}

对集合进行遍历:

 

对Map进行遍历:

if语法:

对myList判断是否为空,如果空的话就不走if内部的这段代码了。下面两个效果一样。

  

 

 switch语法:

string 基本操作指令:

自定义指令:    自定义指令用@,内建指令用#,user 和role是入参,键值对的形式,不用,隔开。result1和result2是出参,用,隔开。

还要在配置文件里进行配置:

第三步:实现接口

freemarker常用内建函数: