If..Else 在 TagIt 的 <li> 标签内的 thymeleaf

If..Else in thymeleaf within <li> tags for TagIt

我有问题。我想显示用户的兴趣列表(或用户有 none 时的示例)。我需要为我的 TAG-IT 库使用 li 标签来处理它们。那是必须的!

所以我在 thymeleaf 中做了一个 IF,我需要在 div 中与 li 标签混合。它为 TAG-IT 库显示了一堆项目符号(兴趣列表),以将它们显示为用户的标签。但是当用户没有附加标签时,我有另一个 IF 来显示带有消息的标签。

我认为我的解决方案应该可行,但结果是它显示了用户的兴趣,但也只有在用户是新用户(并且尚未注册兴趣)时才应该显示的兴趣。这就像第二个 IF 不起作用并且始终显示。

<div id="interestDiv">
<ul id="interestList">
    <li th:if="${interest} != null" th:each="interest : ${profile.interests}" th:text="${interest.name}">ID data</li>
    <li th:if="${interest} == null" th:text="'add your interest here (example: music ! )'">ID data</li>
</ul>

在第一个 <li> each 语句中将初始化 ${interest} 变量并且该变量永远不会是 null。这意味着在这种情况下您根本不需要 if 语句。如果 ${profile.interests} 为空,则不会显示任何内容。

在第二个 <li> 中,您没有对 ${interest} 变量进行任何初始化。这意味着这个变量总是 null。为了使 <li> 正常工作,您应该检查兴趣列表是否为空。类似于:

<ul id="interestList">
    <li th:each="interest : ${profile.interests}" th:text="${interest.name}">ID data</li>
    <li th:if="${profile.interests.isEmpty()}" th:text="'add your interest here (example: music ! )'">ID data</li>
</ul>