我的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/