Thymeleaf th:文本在编码参数上显示错误值

问题描述 投票:0回答:1

模板的URL是:http://localhost:8080/login?error=Usu%E1rio%20inexistente%20ou%20senha%20inv%E1lida

例如,%E1是á

我正在尝试使用以下代码在页面上显示param错误的值:

但正在显示带有特殊字符的错误值。

thymeleaf
1个回答
0
投票

欢迎来到SO。

我看到你可以尝试两种方式:

1)使用该实用程序为HttpServletRequest

<p th:utext="${#httpServletRequest.getParameter('error')}">[error message]</p>

这是从请求中获取error参数的值。

2)使用典型用法来获取参数的值:

<p th:utext="${param.error}">[error message]</p>

在任何一种情况下,您都可以使用th:if来检查null。您可以使用utext获取未转义的文本,以便显示不寻常的字符。

另外,请检查您的字符编码是否设置为UTF-8。在您的配置中,它看起来像:

resolver.setCharacterEncoding(StandardCharsets.UTF_8.name());

要么

resolver.setCharacterEncoding("UTF-8");
© www.soinside.com 2019 - 2024. All rights reserved.