ftl总结

  当前项目前端是用freemarker,是第一次使用这种页面,一般语法不介绍,这里只是记录工作中遇到的问题

---------2016.6.25--------------

1.关于ftl字符串的问题

我在后台取值进行百分比计算的时候${option.num * 100 / vote.voteCount}%,得到的值不见得都是整数,也有无限循环的小数,

那么就需要进行字符串截取,${(option.num * 100 / vote.voteCount)?substring(0,5)}%,使用?substring(startIndex,endIndex)

方法可以截取字符串,但是问题在于也不见得每个都是小数,这个时候就会出现下标越界的问题,那么我们需要进行判断,我在网上找的方法是

(option.num * 100 / vote.voteCount)?length gt 5,但是我自作聪明改成了ge想要实现大于等于,结果又不行了,改回来了之后就可以完成

判断了,不大于5位的不截取,大于5位的截取5位

最后总结一下:1.大于 gt2.小于 lt3.大于等于 gte 4.小于等于 lte

ftl关于字符串文档地址:http://freemarker.org/docs/ref_builtins_string.html

---------2016.7.8---------------

2.还是上次数字截取的问题

这次听公司前辈说原来上次的截取方法很笨,freemarker自带了数字取整的函数,这里介绍一下

(1)round:四舍五入

(2)floor:向下取整

(3)ceiling:向上取整

其实用法也很简单,网上大多一样且说明一般,只需要${num?ceiling}就行,但是我在取值的时候使用了各种计算,必须把计算的包裹在一起,放在

"?"前,不然只会去找最后一个进行取整,${(option.num/vote.voteCount*100)?ceiling},如果不加括号那么ceiling只针对100,那么就不起作用了

 待续。。

原文地址:https://www.cnblogs.com/zmc-change/p/5629487.html