加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用Thymeleaf时,Spring security sessionscope似乎为nu

发布时间:2020-12-15 02:00:32 所属栏目:Java 来源:网络整理
导读:当登录失败并带有 spring security时,它会抛出异常并将其显示在我的JSP中,如下所示: c:if test="${not empty error}" div class="errorblock" Your login attempt was not successful,try again.br / Caused : ${sessionScope["SPRING_SECURITY_LAST_EXCEPT
当登录失败并带有 spring security时,它会抛出异常并将其显示在我的JSP中,如下所示:

<c:if test="${not empty error}">
    <div class="errorblock">
        Your login attempt was not successful,try again.<br /> Caused :
        ${sessionScope["SPRING_SECURITY_LAST_EXCEPTION"].message}
    </div>
</c:if>

现在我正在从JSP更改为Thymeleaf并尝试执行相同的操作,但是当登录失败时,sessionScope变量似乎为null.

<div th:if="${error}" class="errorblock" th:text="'testing ' + ${sessionScope}">

</div>

这打印出测试null.当我将视图解析器更改回JSP时,它可以很好地工作.我想我做错了什么.有什么建议?

解决方法

在Thymeleaf中,您不使用sessionScope令牌名称访问会话变量.你改用会话.所以你需要做类似的事情:

<div class="error" 
     th:if="${param.login_error}"
     th:with="errorMsg=${session["SPRING_SECURITY_LAST_EXCEPTION"].message}">
  Your login attempt was not successful,try again.<br />
  Reason: <span th:text="${errorMsg}">Wrong input!</span> 
</div>

免责声明,根据StackOverflow规则:我是Thymeleaf的作者.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读