我正在尝试使用对象来实现模板,该对象可以是多个。
例如:“有n条狗。”
当我尝试There <#if dogNames?size>1>is<#else>are</#if> dogNames?size dog<#if dogNames?size>1>s</#if>
时,我收到了异常
freemarker.core.NonBooleanException:对于“ #if”条件:应为布尔值,但这已计算为数字(包装器:f.t.SimpleNumber): ==> dogNames?size
即尖括号用于比较时出现问题。
在this blog中,据说双引号足以逃脱括号,但是在Java中我没有做到这一点。当我这样声明时
String template = "There <#if dogNames?size\">\"1>is<#else>are</#if> dogNames?size dog<#if dogNames?size>1>s</#if>";
并调用了freemarker api,我收到了异常
freemarker.core.ParseException: Syntax error in template ...:
Encountered "\">\"", but was expecting one of:
"."
".."
<DOT_DOT_LESS>
"..*"
"?"
"??"
"!"
"["
"("
">"
<TERMINATING_EXCLAM>
我正在使用freemarker 2.3.28,java 8