spring-mvc - 如何在 Thymeleaf 每个循环中编写条件表达式?
问题描述
我正在构建一个嵌套导航,显示th:fragments
已添加到 HTML 文档的一部分:
<ul>
<li th:each="section : ${content.getFragments()}">
<ul>
<li th:each="subsection : ${subsection.getSubsections()}" th:text="${subsection.title}">Default Subsection</li>
</ul>
</ul>
section
问题是如果 some包含 no ,则会产生错误subsection
。
如何检查 a 是否section
包含subsections
?
解决方案
我认为你应该重新考虑你的方法。一般来说,我尽量不向 UI/Web 层返回空列表。这使得这样的情况更容易处理。您应该返回一个空列表。
在这种特定情况下,subsection
应该是一个空列表。
如果这是您无法控制的,您可以检查列表列表是否为空,例如:
<ul>
<li th:each="section : ${content.getFragments()}">
<ul th:if= "${subsection != null}">
<li th:each="subsection : ${subsection.getSubsections()}" th:text="${subsection.title}">Default Subsection</li>
</ul>
</ul>
推荐阅读
- angular - 带有参数的嵌套离子角选项卡路由
- mysql - MySQL 查询优化器显示对具有主索引和复合索引的表的查询的随机行为
- python - 带有阶段的 TensorFlow 自定义训练
- mysql - MySQL 连接导致两个 varchar cols 上的 CONVERT(USING utf16)
- prolog - Prolog 查询不返回所有答案
- selenium-webdriver - 难以使用 ID、XPATH 和 CSS 定位元素
- java - 如何修复“com.spotify.android.appremote.api.error.AuthenticationFailedException”
- c# - C# 打印 Word 文档而不打开 Word 或 Printerselection
- c# - 为 Scaffold-DbContext 逆向工程定义自定义模型名称
- node.js - 如何在 Google Cloud Function 的 /tmp 文件夹中下载文件,然后将其上传到 Google Cloud Storage