前言:
FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出,在我们项目中,用到了大量的FreeMarker标签,其中负责前台页面的展示,以及后台数据的查询。
1.FreeMarker中处理页面自动四舍五入问题
在开发中很容易忽视一点,输入一个值(可能是小数),输出时如果不做处理,就很容易出现隐形的BUG。比如,如果从数据库取出一个0.22的数值,一般的输出${x?if_exists?html},这时是显示0,而不是0.22。
应该写成${x?if_exists?string.number}或者${x?if_exists.toString()?html}
2、FreeMarker截取字符串
例如:<@substring title="${goodsName}" length="80" dot="..."/>
说明:<@substring /> 固定的语法
Title中为需要截取的字符串
Length为截取的长度
Dot为截取后,后面字符串的显示
或者有更简单的语法
如代码:<#assign content=root.keyWord>
${content?substring(0,100)}
substring(start,end)从一个字符串中截取子串
start:截取子串开始的索引,start必须大于等于0,小于等于end
end: 截取子串的长度,end必须大于等于0,小于等于字符串长度,如果省略该参数,默认为字符串长度
例子:
${‘str’?substring(0)} 结果为str
${‘str’?substring(1)} 结果为tr
${‘str’?substring(2)} 结果为r
${‘str’?substring(3)} 结果为
${‘str’?substring(0,0)} 结果为
${‘str’?substring(0,1)} 结果为s
${‘str’?substring(0,2)} 结果为st
${‘str’?substring(0,3)} 结果为str
3、算术运算符
* 取整运算