标签:
在Freemarker中,比较数据的大小时候,要注意大于号(>)的使用。如果不注意,程序就会发生异常信息,如下面的例子:
1
2
3
4
|
<#assign x = 4>
<#if x>5 >
x >5
</#if>
|
以上的方式进行比较,就会发生异常,原因是Freemarker内部的解析处理原因,x>5中的大于号将会跟<#if中的小于号进行配对,导致解析出现问题。针对这种情况,有两种方式解决:
方法一:加上括号。
1
2
3
4
|
<#assign x = 4>
<#if (x>5) >
x > 5
</#if>
|
方法二:使用gt符号。
1
2
3
4
|
<#assign x = 4>
<#if x gt 5 >
x > 5
</#if>
|
使用>=和>的时候有一点小问题。FreeMarker解释>的时候可以把它当作FTL标签的结束符。为了避免这种问题,不得不将表达式放到括号内:<#if (x > y) >,另外,可以使用lt代替<,lte代替<=,gt代替>,gte代替>=。由于历史遗留的原因,FTL也支持\lt,\lte,\gt和\gte,使用他们和使用不带反斜杠的效果一样。
标签:
原文地址:http://www.cnblogs.com/cz-xjw/p/4987210.html