美文网首页
freemarker的基本使用

freemarker的基本使用

作者: sirai | 来源:发表于2017-06-15 12:06 被阅读83次
  • FreeMarker的模板文件并不比HTML页面复杂多少,FreeMarker模板文件主要由如下4个部分组成:

    文本:直接输出的部分
    注释:<#-- ... -->格式部分,不会输出
    插值:即${...}或#{...}格式的部分,将使用数据模型中的部分替代输出
    FTL指令:FreeMarker指定,和HTML标记类似,名字前加#予以区分,不会输出

下面是一个FreeMarker模板的例子,包含了以上所说的4个部分:

<html>
    <head>
        <title>Welcome!</title>
    </head>
    <body>
        <#-- 注释部分 -->
        <#-- 下面使用插值 -->
        <h1>Welcome ${user} !</h1>
        <p>We have these animals:</p>
        <u1>
            <#-- 使用FTL指令 -->
            <#list animals as being>
            <li>${being.name} for ${being.price} Euros</li>
            <#list>
        <u1>
    </body>
</html>
  • c函数是将数字转换成字符串
 ${limit?c}
freemarker中的c函数是将数字转换成字符串,当你在页面中要显示带小数的数字时,一定要写成${x?c}而不能写成${x?default('')},否则显示出的数字都变成了整数,小数位都被自动截掉了。切记!!
  • 日期格式
${lastUpdated?string("yyyy-MM-dd HH:mm:ss zzzz")}
  • 插值结果为布尔值:根据默认格式(由#setting指令设置)将表达式结果转换成文本输出.
<#assign foo=true/>
${foo?string("yes", "no")}
  • if操作
 <#if (version.type==1)>正式
                            <#else>debug
                            </#if>
  • switch , case , default , break指令
<#switch value>
    <#case refValue>...<#break>
    <#case refValue>...<#break>
    <#default>...
</#switch>
  • list指令
<#list sequence as item>
    ...
</#list>
  • 运算符的优先级
FreeMarker中的运算符优先级如下(由高到低排列):

    一元运算符: !
    内建函数: ?
    乘除法: *, / , %
    加减法: - , +
    逻辑与: &&
    逻辑或: ||
    数字范围: ..

  • 比较运算符
  =或者==:判断两个值是否相等.
    !=:判断两个值是否不等.
    >或者gt:判断左边值是否大于右边值
    >=或者gte:判断左边值是否大于等于右边值
    \<或者lt:判断左边值是否小于右边值
    \<=或者lte:判断左边值是否小于等于右边值

相关文章

网友评论

      本文标题:freemarker的基本使用

      本文链接:https://www.haomeiwen.com/subject/vovyqxtx.html