freemarker - 字符串比较 - 不允许运算符

Jor*_*ers 6 java freemarker string-comparison

我想比较两个字符串来判断第一个字符串是否比第二个字符串"更小".

<#if name1 <= name2>
....
</#if>
Run Code Online (Sandbox Code Playgroud)

错误:

Can't use operator "<=" on string values.
Run Code Online (Sandbox Code Playgroud)

这可以在FreeMarker中完成吗?是否可以String.compareTo在模板中调用该方法?

Jor*_*lla 0

在 FreeMarker 中,您可以使用==来比较Strings,但根据 的含义<=,您可以使用内置字符串来比较lenght、 thecontent或您需要的内容。

更新:你没有内置方法来按字典顺序比较 StringFreeMarker所以你有两个选择:

  1. 创建您自己的方法来比较Strings函数built-in、迭代字符串以及逐个字符比较。
  2. Java按照@meskobalazs的建议创建一个比较器