Thymeleaf - 如何处理空值并根据条件分配不同的值?
Thymeleaf - How to handle the null value and assign different value based on the condition?
在我的例子中,条件是如果 question.objQuestion.questionContent
为空,则显示 question.sbjQuestion.questionContent
。我的尝试如下所示。但是没用。
<td th:switch = "${question.objQuestion.questionContent}">
<span th:case="${question.objQuestion.questionContent == null}" th:text = "${question.objQuestion.questionContent}"></span>
<span th:case="${question.objQuestion.questionContent != null}" th:text ="${question.sbjQuestion.questionContent}"></span>
</td>
obj_question_id
和 sbj_question_id
是 foregin id
如果您使用的是 th:switch
,th:case
属性应该只包含要测试的值。在您的情况下,它应该如下所示:
<td th:switch="${question.objQuestion.questionContent}">
<span th:case="null" th:text="${question.sbjQuestion.questionContent}"></span>
<span th:case="*" th:text ="${question.objQuestion.questionContent}"></span>
</td>
你可以简化这个,只使用 Elvis operator:
<td>
<span th:text="${question.objQuestion.questionContent} ?: ${question.sbjQuestion.questionContent}"></span>
</td>
当我以这种方式使用 Elvis 运算符 ?
时它有效
解决方法附在下面:
<td>
<span th:text = "${question.objQuestion?.questionContent}"></span>
<span th:text = "${question.sbjQuestion?.questionContent}"></span>
</td>
在我的例子中,条件是如果 question.objQuestion.questionContent
为空,则显示 question.sbjQuestion.questionContent
。我的尝试如下所示。但是没用。
<td th:switch = "${question.objQuestion.questionContent}">
<span th:case="${question.objQuestion.questionContent == null}" th:text = "${question.objQuestion.questionContent}"></span>
<span th:case="${question.objQuestion.questionContent != null}" th:text ="${question.sbjQuestion.questionContent}"></span>
</td>
obj_question_id
和 sbj_question_id
是 foregin id
如果您使用的是 th:switch
,th:case
属性应该只包含要测试的值。在您的情况下,它应该如下所示:
<td th:switch="${question.objQuestion.questionContent}">
<span th:case="null" th:text="${question.sbjQuestion.questionContent}"></span>
<span th:case="*" th:text ="${question.objQuestion.questionContent}"></span>
</td>
你可以简化这个,只使用 Elvis operator:
<td>
<span th:text="${question.objQuestion.questionContent} ?: ${question.sbjQuestion.questionContent}"></span>
</td>
当我以这种方式使用 Elvis 运算符 ?
时它有效
解决方法附在下面:
<td>
<span th:text = "${question.objQuestion?.questionContent}"></span>
<span th:text = "${question.sbjQuestion?.questionContent}"></span>
</td>