我想比较两个字符串来决定第一个字符串是否更小'比第二个字符串。
<#if name1 <= name2>
....
</#if>
错误:
Can't use operator "<=" on string values.
可以在FreeMarker中完成吗?是否可以在模板中调用String.compareTo
方法?
答案 0 :(得分:2)
如果您的意思是长度,则可以使用内置的length
,例如:
<#if string?length gt 0>
如果你想使用自定义比较而你正在使用Struts2,你可以简单地为它调用一个动作方法,让我们假设你有一个比较方法:
public boolean compare(String str1, String str2) { ... }
然后你可以这样做:
<#if action.compare(str1, str2) gt 0>
答案 1 :(得分:0)
在FreeMarker中,您可以使用==
来比较Strings
,但根据<=
的含义,您可以使用BuiltIn for strings来比较lenght
,content
,或者你需要的东西。
更新:您没有String
中compare lexicographically FreeMarker
的内置方法,因此您有2个选项:
Strings
与built-in
函数进行比较,迭代字符串并按字符比较char。Java
比较为@meskobalazs建议