简短回答:不!
长答案:老实说,这个问题是无效的。 Thymeleaf 只是一个生成 HTML/XML 的库。 XMLHttpRequest 也称为 AJAX (*),只能通过 javascript 使用。
此外,在没有 javascript 的情况下,无法通过表单发布发送自定义标题。因此,您需要编写一些 javascript 来在表单中添加自定义标题。这个自定义的 javascript 应该由你编写 Thymeleaf 没有自动化它的机制。
* 对于未来的cmets:我知道这不准确,不要学究;)
你可以像这样将你的令牌添加到页面中[查看元标记]:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.w3.org/1999/xhtml"
layout:decorator="Layout">
<head>
<title>Example</title>
<meta name="_jwt" th:content="${yourToken}"/>
</head>
...
然后在所有 ajax 请求中,您可以读取这些元值并添加为自定义标头。
例如,如果您使用 jQuery,您可以全局配置所有 jQuery ajax 请求,如下所示:
$(function(){
var _token = $('meta[name="_jwt"]').attr('content');
$.ajaxPrefilter(function (options, originalOptions, jqXHR) {
jqXHR.setRequestHeader("your_jwt_token_header_name", _token);
});
});