Thymeleaf-как сравнить строку с параметром запроса в html в теге Thymeleaf "th:if"?
как сравнить строку с параметром запроса в html в теге Thymeleaf "th: if" ? прямо сейчас я использую это
<div class="error" th:if="${param.error == 'badCredentialsException'}" th:with="errorMsg=#{login.badCredentials}">
<p class="errorMsg"><span th:text="${errorMsg}"></span></p>
</div>
но не повезло, он не работает.
1 ответов
Это не работает, потому что param.error
- это массив строк. Вы должны получить первый элемент массива (param.error[0]
), чтобы получить первое значение параметра (см. документация). Кроме того, вы можете получить доступ к параметру запроса через метод объекта веб-контекста #httpServletRequest.getParameter
который возвращает первое значение, когда параметр многозначен (см. документация).
-
использование пространств имен веб-контекста для запроса атрибуты
<div class="error" th:if="${param.error[0] == 'badCredentialsException'}" th:with="errorMsg=#{login.badCredentials}"> <p class="errorMsg"><span th:text="${errorMsg}"></span></p> </div>
-
использование объекта веб-контекста
<div class="error" th:if="${#httpServletRequest.getParameter('error') == 'badCredentialsException'}" th:with="errorMsg=#{login.badCredentials}"> <p class="errorMsg"><span th:text="${errorMsg}"></span></p> </div>