Freemarker 视图解析器标签

该篇博客参考了网上一些标签,博文中的标签都自测可用,仅用来作为后边忘记查阅的资料;

1.数据类型

FreeMarker和java不同,FreeMarker不需要定义变量的类型,直接赋值即可。
字符串: value = “xxxx” 。如果有特殊字符 string = r"xxxx" 。单引号和双引号是一样的。
数值:value = 1.2。数值可以直接等于,但是不能用科学计数法。
布尔值:true or false。
List集合:list = [1,2,3] ; list=[1…100] 表示 1 到 100 的集合,反之亦然。
Map集合:map = {“key” : “value” , “key2” : “value2”},key 必须是字符串哦!
实体类:和EL表达式差不多,直接点出来。

2.字符串操作

字符串连接:可以直接嵌套${"hello , KaTeX parse error: Expected 'EOF', got '}' at position 8: {name}"}̲ ; 也可以用加号{"hello , " + name}
字符串截取:string[index]。index 可以是一个值,也可以是形如 0…2 表示下标从0开始,到下标为2结束string[0…2]。一共是三个数。
字符串转date操作:
string?datetime(“yyyy-MM-dd HH-mm:ss”),datetime中是指定格式化后的结果
string?date(“yyyy-MM-dd HH-mm:ss”),date中是指定格式化后的结果
string?time(“yyyy-MM-dd HH-mm:ss”)
,time中是指定格式化后的结果

3.比较运算符

== (等于),!= (不等于),gt(大于),gte(大于或者等于),lt(小于),lte(小于或者等于)。不建议用 >,< 可能会报错!
一般和 if 配合使用

4.freemarker内建函数

FreeMarker 提供了一些内建函数来转换输出,其结构:变量?内建函数,这样就可以通过内建函数来转换输出变量。
html: 对字符串进行HTML编码;
cap_first: 使字符串第一个字母大写;
lower_case: 将字符串转成小写;
upper_case: 将字符串转成大写;
size: 获得集合中元素的个数;
int: 取得数字的整数部分。
?String() 格式化
?string.number 格式化为number
?string.currency 格式化为¥模式,并四舍五入保留两位小数
?string.percent 格式化为百分比模式,并四舍五入保留两位小数

4.变量声明

assign可以为模板页面创建一个顶层变量或者替换顶层变量:
语法:<#assign name =value> 指定一个名为name 值为value的变量;
assign也可以指定多个变量:
语法:<#assign name1=value1 name2 =value2 name3 =value3> 指定多个名为name1 值为value1,名为name2 值为value2 …的变量;
local进行声明局部变量:
语法:
<#local name=value/> 指定一个名为name且值为value的局部变量;

5.变量空判断

!   指定缺失变量的默认值;一般配置变量输出使用
??   判断左侧的变量是否丢失,相当于java中的null的判断,或者这个变量是否未定义;
?has_content 非常像??,但是它同时也会对空字符串或空list或空map进行判断。

6.集合处理

6.1 list 集合:

如果集合中不是javaBean对象,那么可以用 直 接 取 , 如 果 是 j a v a B e a n 对 象 , 则 可 以 使 用 {}直接取,如果是javaBean对象,则可以使用 javaBean使{list.bean属性};
语法:
<#list listName as list>
${list}

6.2Map集合:

6.2.1 直接从map中根据key进行获取value

语法{map[‘key’]}

6.2.2 通过迭代map的key 然后获取value

语法:
<#list map?keys as key>
${map[key]}

6.2.3 直接迭代出map中的value值

语法:
<#list map?value as values>
${values}

你可能感兴趣的:(freemarker)