Thymeleaf th:if 与 th:each 在同一个 html 元素上

Thymeleaf th:if with th:each on the same html element

我正在使用 Thymeleaf 动态生成所有菜单 link。我编写的代码运行良好。

    <ul>
         <li th:each="menu : ${menus}"><a href='#'><span th:text="${menu}">Home</span></a></li>
   </ul>

我的问题是,如果菜单的值等于 Home,我如何在 li 元素上添加 class (activeMenu)。

通常您会将此部分插入到您要插入特定 class 的元素中,在您的例子中是跨度元素:

th:class="${menu}=='Home' ? activeMenu"

或:

th:class="${menu}=='Home' ? activeMenu:''"

它应该像这样工作:

<ul>
    <li th:each="menu : ${menus}"><a href='#'><span th:class="${menu}=='Home' ? activeMenu:''">th:text="${menu}">Home</span></a></li>
</ul>

我还没有尝试过这个特定条件,但应该可以。

希望对您有所帮助。