【问题标题】:Convert thymeleaf to freemarker将 thymeleaf 转换为 freemarker
【发布时间】:2018-06-02 11:55:14
【问题描述】:

请帮忙,我在 freemarker 中找不到如何从 thymeleaf 转换的指南: lists.isEmptyfor each

 <th:block th:if="${#lists.isEmpty(employees)}">
        <h3>No employee</h3>
    </th:block>
    <th:block th:unless="${#lists.isEmpty(employees)}">

 <tr th:each="contact,iterStat : ${employees}">
                    <td th:text="${iterStat.count}"></td>
                    <td th:text="${contact.name}"></td>
                    <td th:text="${contact.phone}"></td>

谢谢!

【问题讨论】:

  • 几乎没有专门的指南...但是如果您查看 FreeMarker 手册中的 #list#if${...},您肯定可以做到。

标签: thymeleaf freemarker


【解决方案1】:

也许是这样的? (草图,未测试)

<#list employees as contact>
 <tr>
    <td>${contact?index}
    <td>${contat.name}</td>
    <td>${contact.phone}</td>
 </tr>
<#else>
 <h3>No employee</h3>
</#list>

备注

  • &lt;#list&gt; 将为员工序列中的每个项目生成一个&lt;tr&gt; 元素,其中包含每个字段的&lt;td&gt;

  • 如果员工序列为空,它将生成&lt;h3&gt; 元素。 见List Directive Doc

  • 它使用内置函数获取项目的从零开始的索引 ?index。请参阅帮助中的内置函数和循环变量。 Freemarker built-ins Doc。如果你想要一个基于,你可以添加一个。

【讨论】:

    【解决方案2】:

    成功了

    <#list employees as contact>
     <tr>
        <td>${contact?index}
        <td>${contat.name}</td>
        <td>${contact.phone}</td>
     </tr>
    <#else>
     <h3>No employee</h3>
    </#list>
    

    【讨论】:

    • 欢迎来到 Stack Overflow!请不要只用源代码回答。尝试对您的解决方案如何工作提供一个很好的描述。请参阅:How do I write a good answer?。谢谢
    猜你喜欢
    • 2011-08-06
    • 2023-03-31
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 2016-05-27
    • 2019-03-25
    相关资源
    最近更新 更多