Freemarker概述

一、Freemarker概述

FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写

FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

虽然FreeMarker具有一些编程的能力,但通常Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据


二、模版+模型数据=输出

1、数据模型:

典型的数据模型是树型结构,可以任意复杂和深层次。

对内层变量的访问,需要从root开始,各部分用“.”分隔。

也有另外一种变量是使用数字索引,例如animals[0].name。

 

2、模版:

FreeMarker模板中可以包括下面三种特定部分: 

(1) ${…}:称为interpolationsFreeMarker会在输出时用实际值进行替代

(2) FTL标记FreeMarker模板语言标记):类似于HTML标记,为了与HTML标记区分,#开始(有些以@开始) 

①If/elseif/else指令 

  <#if animals.python.price < animals.elephant.price>   

   Pythons are cheaper than elephants today. 

  <#else> 

   Pythons are not cheaper than elephants today. 

  </#if> 

  空值判断可以写成<#if book.name?? >

switch指令

  <#switch value> 

  <#case refValue1> 

  ... 

  <#break> 

③list指令

  <#list animals as being> 

   <td>${being.name}<td>

  </#list>

④include指令

  <#include "/copyright_footer.html"> 

(3) 注释:包含在<#-- -->


注意事项:

  •  FTL区分大小写,所以list是正确的FTL指令,而List不是;${name}和${NAME}是不同的; 
  •  Interpolation只能在文本中使用; 
  •  FTL标记不能位于另一个FTL标记内部; 
  •  注释可以位于FTL标记和Interpolation内部;  
  •  多余的空白字符会在模板输出时移除;
  •  FreeMarker会忽略FTL标记中的空白字符;




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值