首页 > 解决方案 > 检查列表包含 Twig 模板中的值

问题描述

我有这段代码:

<div>
    <dt class="question">Language</dt>
    <dd class="answer">
    {% if Wrapper.arrangements['signLanguage'] is defined %}
        Sign Language              
    {% else %}
        Not required
    {% endif %}
    </dd>
</div>

接着:

@Value
@Builder
public class Wrapper {

    private List<String> arrangements;

}

即使我的 Java Wrapper.arrangements 对象包含“signLanguage”,它也总是打印“不需要”。有人发现我做错了什么吗?

标签: javahtmltemplatesjtwig

解决方案


您正尝试以与静态函数相同的方式访问 Wrapper.arrangements。它不是静态的并且是私有的,因此您需要将包装器添加到您的模型中,大概命名为“包装器”,并有一个名为 getArrangement 的方法返回您的安排列表,然后在您的模板中您将拥有以下内容:

{% if wrapper.getArrangements.contains('signLanguage') is defined %}

推荐阅读