java - 比较字符串 UTF-8 时的 jSTL 错误。(Spring Security -principal.username)

标签 java jsp spring-mvc spring-security jstl

我的jsp页面有:

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>

...

<c:set var="currentUser">
  <sec:authentication property = "principal.username"/>
</c:set>

<c:if test = "${currentUser eq user.login}" >

...
当我比较英语单词时,评估返回true,但当涉及俄语等时 - false
一开始我认为这可能是jsp编码的问题,但是当我运行类似的东西时

<c:if test = "${'Андрей' eq 'Андрей'}" >

它实现了真实

甚至

<c:if test = "${currentUser eq 'Андрей'}" > turns `false`

最后我想添加浏览器显示值 ${currentUser}${user.login} 相同

${currentUser}<br>
${user.login}

来了

Андрей
Андрей

预先感谢您的回复!

最佳答案

请尝试此测试页。这个对我有用。

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
   pageContext.setAttribute( "currentUser", "Андрей");
%>
Test page.
<c:if test = "${currentUser eq 'Андрей'}" >
     Yes, they are equal.
</c:if> 
<c:if test = "${currentUser eq currentUser}" >
     Yes, they are equal. currentUesr is ${currentUser}
</c:if> 

输出:
测试页。是的,他们是平等的。是的,他们是平等的。当前用户名是 Андрей

关于java - 比较字符串 UTF-8 时的 jSTL 错误。(Spring Security -principal.username),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27847557/

相关文章:

java - JSP/Servlet 如果错误停留在同一页面而不是转发

java - 在 Spring Controller 中维护相同的 session

jquery - 使用 JSON 将嵌套对象发布到 Spring MVC Controller

java - 用遗传算法解决幻方 : population score converges fast, 但从未达到目标?

java - 有可用内存的 OutOfMemoryError

java - 解析带引号的 json 数据

java - jsp中的表单字段不会更改java变量

java - 在 Tomcat 中部署 WAR 时出现严重错误。ContainerBase addChildInternal 错误

mysql - 使用 CrudRepository 持久化 JPA 实体

Java 故障?减数?