freemark标签

<#list animals as being> 

 <tr><td>${being.name}<td>${being.price} Euros 

 </#list>

 

<#include "/copyright_footer.html">

 

 

<#list animals as being> 

 <tr> 

 <td> 

 <#if being.size == "large"><font size="+1"></#if> 

 ${being.name} 

 <#if being.size == "large"></font></#if> 

 <td>${being.price} Euros 

 </#list> 

 

处理不存在的变量

不论在哪里引用变量,都可以指定一个默认值来避免变量丢失这种情况,通过在变量名

后面跟着一个!和默认值。就像下面的例子,当 user 从数据模型中丢失时,模板将会将

user 的值表示为字符串”Anonymous”。(若 user 并没有丢失,那么模板就会表现

出”Anonymous”不存在一样): 

 

<h1>Welcome ${user!"Anonymous"}!</h1>

 

 当然也可以在变量名后面通过放置??来询问 FreeMarker 一个变量是否存在。将它和 if

指令合并,那么如果 user 变量不存在的话将会忽略整个问候代码段: 

 

<#if user??><h1>Welcome ${user}!</h1></#if>

 

 关于多级访问的变量,比如 animals.python.price ,书写代码:

animals.python.price!0,仅当 animals.python 存在而仅仅最后一个子变

量 price 可能不存在(这种情况下我们假设价格是 0)。如果 animals 或者 python

不存在,那么模板处理过程将会以“未定义的变量”错误而停止。为了防止这种情况的发生,

可以这样来书写代码(animals.python.price)!0。这种情况下当 animals 或

python 不存在时表达式的结果仍然是 0。对于??也是同样用来的处理这种逻辑的:

animals.python.price??对比(animals.python.price)??来看。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值