嗨,我正试图在消息为空时隐藏标签,但我似乎不知道如何隐藏,对于我读到的内容,如果我想隐藏和清空变量,我所需要做的就是使用"除非"或"如果":
<p th:unless="${#strings.isEmpty(myVar.theEmptyVar)}">
但当我使用消息类型var时,它似乎不起作用,代码失败
<p th:unless=""{#strings.isEmpty(messageVar)}">
我得到的最接近的是这个,但它不会显示任何内容:
<p th:if="${!#strings.isEmpty('[[#{label}]]')}" >
我一直在浏览thymelaf文档和谷歌,但我似乎找不到一个有效的解决方案,谢谢。
假设您有label
,它是消息文件中的一个空条目,如下所示:
label=
然后您可以在Thymelaf模板中使用以下内容:
<p th:if=" ! ${#strings.isEmpty(#messages.msg('label'))}">
my text
</p>
!
是否定("not"(。因此,由于label
的消息为空,您将不会在网页中看到"我的文本",并且<p>
标记将不会被创建。
如果删除!
,则将在<p>
标记内看到"我的文本"。
在这种特定情况下,不能直接使用#{label}
。您必须将其封装在#messages.msg()
方法中。
此外,如果消息文件中不存在label
消息,则其行为与label=
相同。