我正在使用带有Freemarker模板引擎的Spark框架。我将类别列表(具有getId()方法的Java类)传递给我的模板。
在我的Freemarker模板中,我有以下循环,我只需要在其id大于1时显示类别标题。但是,由于某些未知原因,以下代码不起作用,除非我删除< #if condition>部分。
<#list categories as category>
<#if category.getId() > 1> category.getTitle() </#if>
</#list>
我想知道freemarker是否支持这种动态&lt;#if&gt;声明。
答案 0 :(得分:1)
它不起作用,因为大于号符号被视为#if
标记的结尾。所以实际上你有<#if category.getId()>
,而id不是布尔值。试试<#if (category.getId() > 1)>
。 (顺便说一下,只需写category.id
。在FreeMarker中不需要get...()
- 。