您的位置:首页 > 编程语言 > Java开发

JavaWeb扩展--Freemarker(二)

2015-10-22 16:11 676 查看
<#--条件判断 if-else -->
<#assign num = 10>
<#if num%2 == 0>
偶数
<#else>
奇数
</#if>
<#assign score=70>
<#if score lt 60>
不及格
<#elseif score lt  80>
中
<#elseif score lt 90>
良好
<#else>
优秀
</#if>
<#--条件判断 switch -->
<#assign level = "C">
<#switch level>
<#case "A">
优秀
<#break>
<#case "B">
中
<#break>
<#default>
不及格
</#switch>
<#--循环指令 -->
<#assign nums=[1,3,5,6,4]>
<#list nums as num>
<#--隐藏变量 _index和_has_next-->
${num_index+1},${num}<#if num_has_next>,</#if>
</#list>
<#assign nums2 = 10>
<#list 1..nums2 as num>
${num}
<#--满足条件时候中断-->
<#if num == 6>
<#break>
</#if>
</#list>
<#--包含指令 -->
<#--同一目录可以使用相对路径,否则要使用绝对路径
使用 ../one.ftl或者*/one.ftl 可以找上级目录
-->
<#assign siteName="www.baidu.com">
<#include "head.ftl">

<#--其他标签
noparse:标签内任何的freemarker标签都不会被解析
compress:去掉前后的空格和换行
setting:设置属性
-->
<#noparse>
<#assign num = 1>
${num}
</#noparse>
<#compress>
<#assign s = "  test   \n\n">
${s}
asdf ckjv;lc
</#compress>
<#--设置国际化-->
<#setting locale="hu">
${1.2}

<#--自定义指令:实现复用-->
<#macro mydirect1>
这是自定义指令
</#macro>
<#--使用自定义指令-->
<@mydirect1 />
<#--带参数的自定义指令-->
<#macro mydirect2 name age=20>
Hello, ${name} ${age}
<#--局部变量-->
<#local i=10>
${i+5}
<#--覆盖局部变量-->
<#assign i = 30>
</#macro>
<@mydirect2 name="TOM" />
${i}

<#macro mydirect3>
mydirect3
<#--显示调用时候所写的内容-->
<#nested>
</#macro>
<@mydirect3>
Hello
</@mydirect3>

<#--空值处理
!:只会做最后一个属性的判断,如果想判断多个,可用(user.group.name)!的方式
??:判断是否存在
-->
${user.first_name}
${user.last_name!"No Last Name"}
${user.age!}
<#if user.age??>
Exits
<#else>
No Exits
</#if>

<#--命名空间-->
<#import "head.ftl" as head>
<@head.sayHello name="Tom" />
<#--为命名空间变量赋值-->
<#assign userName="Tang" in head>
${head.userName}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: