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

回到顶部