freeMarker -concise

${user!“default value”} – 变量名后面跟着一个 !(感叹号)和默认值

也可以在变量名后面通过放置??来询问一个变量是否存在
<#if user??>
Welcome ${user!“你好”}!
</#if>

animals.python.price!0
当且仅当animals.python永远存在,而仅仅最后一个子变量price可能不存在时是正确的(这种情况下假设价格是0)。
如果 animals或python不存在
那么模板处理过程将会以“未定义的变量”错误而停止。
为了防止这种情况的发生,
可以如下这样来编写代码 (animals.python.price)!0。这种情况就是说animals或python不存在时,表达式的结果是 0。
对于??也是同样用来的处理这种逻辑的;将animals.python.price??对比(animals.python.price)??来看

FreeMarker不能引用不存在的变量,除非明确地告诉它当变量不存在时如何处理

基本语法: ${} 和 el表达式一样

注释:<#-- context -->
FTL标签:以#开头 (自定义的需要用@来代替#)

例如:user?html给出user的HTML转义版本,比如&会由 &amp;来代替

内建函数应用可以链式操作,比如user?upper_case?html会先转换用户名到大写形式,之后再进行HTML转义,和链式使用.(点)一样

范例:
<#if condition>
    ...
<#elseif condition2>
    ...
<#elseif condition3>
    ...
<#else>
    ...
</#if>
'''

假设 users 包含['Joe', 'Kate', 'Fred'] 序列:
<#list users as user>
   ${user}
</#list>

输出:
    <p>Joe
    <p>Kate
    <p>Fred

将版权信息单独存放在页面文件 copyright_footer.html 中:

<hr>
<i>
    Copyright (c) 2000 <a href="http://www.baidu.com">Baidu Inc</a>,
    <br>
    All Rights Reserved.
</i>

当需要用到这个文件时,可以使用 include 指令来插入:

<html>
    <head>
        <title>Test page</title>
    </head>
    <body>
        <span>Test page</span>
        <p>Blah blah...
        <#include "/copyright_footer.html">
    </body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值