Freemarker常用指令

下面是一些Freemarker常用的指令,方便自己记忆


  • 条件:if,else,elseif指令,如
<#if x == 1>
   x is 1
<#if y == 1>
   and y is 1 too
<#else>
   but y is not
</#if>

  • 分支:switch,case,default,break指令,如放大法
<#switch value>
   <#case refValue1>
       ...
       <#break>
   <#case refValue2>
       ...
       <#break>
       ...
   <#case refValueN>
       ...
       <#break>
   <#default>
       ...
</#switch>

  •  循环:list、break等
<#list seq as x>
   ${x}
   <#if x = "spring">
       <#break>
   </#if>
</#list>
 
  • include指令,如
<#include path>
or
<#include path options>

 

  • import指令,如
<#import path as hash>

 

  • assign指令
    新建、替换变量,只能是顶级变量,即不能改变如hash_var.sub_var的值

 

比如:变量test中存储数字:
	<#assign test = 3>
	<br>结果:${test}<br>
替换改变test的值:
	<#assign test = test * 100>
	<br>结果:${test}<br>
一个assign处理多个变量:
	<#assign v_msg1="消息1" v_msg2="消息2">
 

 

  • global指令
    作用及定义和assign类似,不过创建的变量在所有命名空间都可见。
  • local指令
    作用及定义它和assign指令类似,但是它创建或替换局部变量。这仅仅在宏和方法的内部定义才会有作用。
  •  setting指令
    设置是影响FreeMarker行为的值,支持的设置有:
    locale、number_format、boolean_format、date_format,time_format,datetime_format、time_zone、url_escaping_charset、classic_compatible(这是对专业人员来说的,它的值应该是一个布尔值)
    假设原是匈牙利
${1.2}<br>
   <#setting locale="en_US">
${1.2}
 将会输出(匈牙利以逗号","作为小数的分隔符)
   1,2
   1.2
  • 自定义指令,用<@...  />
    将调用用户自定义的指令,比如宏。
  • ftl指令
这个指令,如果存在,必须是模板的第一句代码。可指定的参数:encoding等
  •  attempt,recover 指令
    这些指令在2.3.1版本引入
<#attempt>
   attempt block
<#recover>
   recover block
</#attempt>

 recover只有在前面的模板执行出错(会回滚)才会执行

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值