java - Freemarker 模板引擎 <#if condition> 具有动态条件

标签 java templates freemarker apache-spark

我正在使用带有 Freemarker 模板引擎的 Spark 框架。我将类别列表(具有 getId() 方法的 Java 类)传递给我的模板。

在我的 Freemarker 模板中,我有以下循环,我只需要在 id 大于 1 时显示类别标题。但是,由于某些未知原因,除非删除 <#,否则以下代码不起作用if 条件 > 部分。

<#list categories as category>
   <#if category.getId() > 1> category.getTitle() </#if>
</#list>

我想知道 freemarker 是否支持这种动态 <#if> 语句。

最佳答案

它不起作用,因为大于号被视为 #if 的结尾标签。所以实际上你有 <#if category.getId()>那里,并且 id 不是 boolean 值。试试<#if (category.getId() > 1)> 。 (顺便说一句,只需写 category.id 。在 FreeMarker 中不需要 get...() -s 。)

关于java - Freemarker 模板引擎 <#if condition> 具有动态条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874068/

相关文章:

c++ - 嵌套模板类型的别名

javascript - 带 Twig 的模板 Nordemailer

java - FreeMarker 中日期的默认值

Java 桌面应用程序客户端-服务器合二为一

Java 中旋转、增大大小和清除 Box 图像的方法

java - 图形窗口中的基本弹跳球

java - FreeMarker修改现有文件

java - 如何正确处理图形上下文——我需要最后尝试吗? (Java 1.7)

c++ - 模板类错误 "Expected initializer before ' <' token"

java - 从字符串中分配 freemarker 中的命名空间