Thymeleaf:th:text仅当不为null时?
我有类似下面的内容,如果用户先前输入了错误的凭据,那当然可以工作。
但是,如果我直接进入登录失败网址/login?error
,例如之前没有任何不正确的登录信息,那session[SPRING_SECURITY_LAST_EXCEPTION]
当然可以,null
并且我会收到一个讨厌的
。
<span th:text="${session[SPRING_SECURITY_LAST_EXCEPTION].message}">Invalid credentials</span>
:
是否有用于以下内容的处理器(大多数时间写和读时间太长),还是我应该自己滚动?
<span th:text="${session[SPRING_SECURITY_LAST_EXCEPTION] != null ? session[SPRING_SECURITY_LAST_EXCEPTION].message : #messages.msg('AbstractUserDetailsAuthenticationProvider.badCredentials')}"> Invalid credentials
</span>
回答:
您可以使用th:if语句:
<span th:if="${session[SPRING_SECURITY_LAST_EXCEPTION].message}" th:text="${session[SPRING_SECURITY_LAST_EXCEPTION].message}">Invalid credentials</span>
如果存在值,则只会显示此行。
编辑1:
额外检查:
<span th:if="${session[SPRING_SECURITY_LAST_EXCEPTION] != null and session[SPRING_SECURITY_LAST_EXCEPTION].message != null}" th:text="${session[SPRING_SECURITY_LAST_EXCEPTION].message}">Invalid credentials</span>
以上是 Thymeleaf:th:text仅当不为null时? 的全部内容, 来源链接: utcz.com/qa/422349.html