首先,我检查我从中获取跟踪列表的项目是否是CD。如果这是真的,我想循环遍历列表并为每个条目创建一个段落。我的问题是,对于不是CD的项目,我会在$ {item.getTrackList()}上收到错误,因为他们没有属性" trackList"。为什么" th:每个"表达式忽略switch-case语句?
<div th:switch="${type}" th:remove="all-but-first">
<div th:case="CD" th:each="track : ${item.getTrackList()}">
<p th:text="${track}"></p>
</div>
</div>
答案 0 :(得分:1)
http://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#attribute-precedence
在th:each
之前评估 th:case
。你将不得不将它降低,例如:
<div th:switch="${type}" th:remove="all-but-first">
<th:block th:case="CD">
<div th:each="track : ${item.trackList}">
<p th:text="${track}"></p>
</div>
</th:block>
</div>
如果你不需要额外的div,比如:
<div th:switch="${type}" th:remove="all-but-first">
<th:block th:case="CD">
<p th:each="track : ${item.trackList}" th:text="${track}"></p>
</th:block>
</div>