<p th:text="|Commande no : ${expedition.idCommande}|" class="font-weight-bold"></p>
<p th:text="${expedition.etat}"></p>
expedition.etat 是一个 int,其值为 0、1 或 2
我希望第二段的内部文本为“准备中”、“已发送”或“已交付”,而不是 0、1、2。
我想我可以用 th:if 和 th:text 三个段落来解决问题; 或者也许我可以在我的探险对象中添加一个 getStatusAsText 方法; 但是没有更好的方法来实现这个吗?
最佳答案
您只需打开该值即可:
<div th:switch="${expedition.etat}">
<p th:case="0">In preparation</p>
<p th:case="1">Sent</p>
<p th:case="2">Delivered</p>
<p th:case="*">No state found</p>
</div>
您可以使用<th:block>
如果您不想打印 HTML 标签。您可以考虑将默认情况设置为红色或您喜欢的错误颜色。请确保默认情况是最后一个。
如果您需要文本以多种语言显示,您将需要从消息包中打印这些值,但这超出了本问题的范围。
关于java - 如何根据 thymeleaf 中的变量值打印不同的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60918488/