FreeMarker

FreeMarker 中文官方参考手册 2.3.23

FreeMarker 基础语法

${name}获取变量name的值并输出该值

字符串

${"The default value for name is python"}中使用""''表示常量值
不区分单引号或双引号,效果一样

数字

不带引号的数字

布尔值

true 或 false

序列

将一组元素以,分隔的方式放入到[]中,例如:

["foo", "bar", "baz"]

序列中每个元素的类型可以不一致

值域

通过指定包含的数字范围而生成的一组序列
以下三种形式中,startend是结果为数字的任意表达式

start..end

-1..-5值域生成的序列是[-1,-2,-3,-4,-5 ]

start..<end

-5..<-1值域生成的序列是[-5,-4,-3,-2]

start..*length

-5..*3值域生成的序列是[-5,-4,-3 ]
还有一种形式只做了解即可

start..:

这种形式和上面根据长度控制生成序列的形式相似,单长度不受控制

哈希表

一组以,分隔的保存在{}内部的键值对,key值须为字符串,如下:

{ "name": "green mouse", "price": 150 }
判断变量不存在或为null

一个不存在的变量和一个是 null 值的变量, 对于FreeMarker来说是一样的

${name!'python'} 

name != null 时,显示name的值,否则显示默认值python

<#if name??>
 	${name}
<#else>
	${"The default value for name is python"}
 </#if>

name??表示验证变量name是否存在,存在返回true否则返回false

指令
if elseif else指令

if标签分为开始标签<#if condition>、结束标签</#if>,在这组标签内部可以包含0或多个<#elseif condition>0或一个<#else>
if标签内部可以嵌套if标签,condition语句中含有>>=时,需使用gtgte代替

<#if name=='Java'>
 	${'${name} is the language I use for my work'}
<#elseif name=='JavaScript'>
	${name + ' We also need to use our work'}
<#else>
	${"The default value for name is python"}
 </#if>
list 指令
<select class="selectpicker hs-selsty" title="请选择" id="languageCode" name="languageCode">
	 <#list languageCodeList as languageEntity>  
		<option value="${languageEntity.language}">${languageEntity.name}</option>
	 </#list>
</select>

如需要获取序号,可以使用${languageEntity_index},下标从0开始
如需判断当前list中是否还有待遍历的元素,可以使用${languageEntity_has_next}

按长度遍历

<#list 1..languageCodeList?size as i>
	<#-- 待显示的元素 -->
</#list>

languageCodeList 为后台传过来的list集合
languageCodeList?size表示取集合的长度

操作符
逻辑与(&&)、 逻辑或(||)、 逻辑非(!)

2018-08-02
日期类型的数据未显示
在使用spring mvcModelAndView对象返回Date类型的数据时,页面无法显示该值(不显示)
解决方法(两种):

${sendTime?datetime}
${sendTime?string["yyyy-MM-dd HH:mm:ss"]}

2018-09-29
拆分字符串并使用逗号(、)分隔

<#if childAge?? && childAge != "">
	
	<#list childAge?split(",") as age>
		${age}岁 <#if age_has_next></#if>
	</#list>

</#if>	

childAge的值为2,6,7
页面显示效果2岁、6岁、7岁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值