web-dev-qa-db-fra.com

Thymeleaf: comment obtenir la valeur d'attribut d'URL

Je ne trouve aucune solution pour obtenir un attribut à partir d'une URL à l'aide de Thymeleaf. Par exemple, pour l'URL:

somesite.com/login?error=true

J'ai besoin d'obtenir la valeur d'attribut "erreur". J'utilise aussi SpringMVC, si cela peut être utile.

15
Maxim Kolesnikov

Après une enquête, j’ai trouvé qu’il s’agissait en réalité du problème Spring EL. Donc, la réponse complète avec vérification à zéro est:

<div id="errors" th:if="${(param.error != null) and (param.error[0] == 'true')}">
    Input is incorrect
</div>
26
Maxim Kolesnikov

Une autre façon d'accéder aux paramètres de requête dans thymeleaf consiste à utiliser l'objet utilitaire #httpServletRequest qui donne un accès direct à l'objet javax.servlet.http.HttpServletRequest.

Un exemple d'utilisation avec la vérification de zéro ressemble à ceci:

<div th:text="${#httpServletRequest.getParameter('error')}" 
     th:unless="${#httpServletRequest.getParameter('error') == null}">
    Show some error msg
</div>

Cela revient à faire request.getParameter("error"); en Java.

Source: Documents Thymeleaf

3
Lucky
<a th:href="@{somesite.com/login(error = ${#httpServletRequest.getParameter('error')}"><a>

Cela peut fonctionner.

1
Guwang