java - 如何使用 thymeleaf 做到这一点?

标签 java html jsp tomcat thymeleaf

我正在使用 Spring Security 和 Thymeleaf。

下面的代码使用的是 JSP:

<c:url var="save" value="/usuario/save?${_csrf.parameterName}=${_csrf.token}"/>
    <form:form modelAttribute="usuario" action="${save}" method="post" 
        enctype="multipart/form-data">

这是我使用 Thymeleaf 的代码,它不起作用:

<form action="#" method="post" th:action="@{/usuario/save?_csrf=(${_csrf.token})}" th:object="${usuario}" enctype="multipart/form-data">

我得到这个网址:

http://localhost:8080/springsecurity/usuario/save?_csrf=&c5cea050-9e39-4220-b7fb-576964def023

但我的值是 _csrf=c5cea050-9e39-4220-b7fb-576964def023 在代码 c5cea050-9e39-4220-b7fb-576964def023< 之前没有 &/

enter image description here

最佳答案

通常,当您将 Thymeleaf 与 Spring Security 一起使用时,会自动添加一个隐藏的 CSRF 输入。如果不是,请尝试将此添加到您的表单中:

<input type="hidden" name="_csrf" th:name="${_csrf.parameterName}" th:value="${_csrf.token}">

关于java - 如何使用 thymeleaf 做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43837948/

相关文章:

jquery - 通过 JQuery 在 JSF inputText 控件上写入数据

java - Google RateLimiter 不适用于计数器

html - 基本 html : why aren't my labels checking my checkboxes?

html - z-index 到背景? CSS

css - 背景半透明div

java - 设置反向安全约束

javascript - 有没有办法动态地在谷歌地图 V3 中放置不同的标记?

java - 为什么我的客户端线程/监听器没有收到来自服务器的广播消息?

java - Collections2.filter 方法不满足传递的参数

java - 置换的逆?