TAG

RSS订阅

收藏本站

设为首页

当前位置:主页 > 服务端开发 > Java开发 >

FreeMarker if 指令

发布时间:2014-12-22 20:02 类别:Java开发

使用if 指令可以有条件地跳过模板的一部分,这和程序语言中if 是相似的。假设在第
一个示例中,你只想向你的老板Big Joe(而不是其他人)问好,就可以这样做: 
 
<html> 
<head> 
  <title>Welcome!</title> 
</head> 
<body> 
  <h1> 
    Welcome ${user}<#if user == "Big Joe">, our beloved 
leader</#if>! 
  </h1> 
  <p>Our latest product: 
  <a href="${latestProduct.url}">${latestProduct.name}</a>! 
</body> 
</html> 
 
  在这里,我们告诉FreeMarker,我们尊敬的领导才是if 条件中那唯一的user变量值,
当它和”Big Joe”相同时才显示出来。那么,当condition的判断结果为false(布尔
值)时,在<#if condition>和</#if>标签之间的内容将会被略过。 
  我们来详细说说condition的使用:==是来判断在它两侧的值相等的操作符,比较的结
果是布尔值,true 或者false。在==的左侧,是引用的变量,我们很熟悉这样的语法,它会
被变量的值来替代。右侧是指定的字符串,在模板中的字符串必须放在引号内。 
  当price是0的时候,下面的代码将会打印:”Pythons are free today!” 
<#if animals.python.price == 0> 
  Pythons are free today! 
</#if> 
  和前面的示例相似,字符串被直接指定,但是这里则是数字(0)被直接指定。注意到
数字是不用放在引号内的。如果将0放在引号内(”0”),FreeMarker就会将其误判为字符
串了。 
  当price不是0的时候,下面的代码将会打印:”Pythons are not free today!” 
 <#if animals.python.price != 0> 
  Pythons are free today! 
</#if>    
 
你也许会猜测了,!=就是不等于。 
你也可以这样来写代码(使用数据模型来描述哈希表变量): 
  
<#if animals.python.price < animals.elephant.price> 
  Pythons are cheaper than elephants today. 
</#if>     
    
  使用<#else>标签可以指定当条件为假时程序执行的内容。例如: 
<#if animals.python.price < animals.elephant.price> 
  Pythons are cheaper than elephants today. 
<#else> 
  Pythons are not cheaper than elephants today. 
</#if>      
 
  如果蟒蛇的价格比大象的价格低,将会打印”Python are cheaper than elephants today.”,
否则就打印”Pythons are not chea per than elephants today.” 
  如果变量本身就是布尔值(true 或者false),那么可以直接让其作为if 的条件
condition: 
 
 <#if animals.python.protected> 
  Warning! Pythons are protected animals! 
</#if>   
 
 
猜你会喜欢....

Copyright © 2015 www.wahenzan.com 哇!很赞 版权所有 浙ICP备14030256号-1 Power by DedeCms

浙公网安备 33010602005986号

声明:本站所有文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系本站删除 网站管理员:758763728

360网站安全检测平台