[英]POST a JavaScript array of Strings into Spring Boot/Thymeleaf form Object
[英]Spring Boot, Thymeleaf and strings
您好,我正在使用 spring 啟動 2.4.x,我想使用 thymeleaf 作為我的模板引擎。
我添加了 thymeleaf 啟動器,並且我進行了以下測試
@Test
void name() {
StringTemplateResolver stringTemplateResolver = new StringTemplateResolver();
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(stringTemplateResolver);
Context ctx = new Context();
ctx.setVariable("franco", "prova");
String processedTemplate = templateEngine.process("<html>${franco}</html>", ctx);
Assertions.assertThat(processedTemplate).isEqualTo("<html>prova</html>");
}
但是 templateEngine 沒有替換變量,並且 processesTemplate 變量的值與輸入字符串相同。
我有什么錯? 謝謝
Thymeleaf 不會直接在 HTML 中處理變量。 您要么必須使用文本內聯語法:
<html>[[${franco}]]</html>
或者使用標准方式(即使用以th:
為前綴的屬性),如下所示:
<html th:text="${franco}" />
或者
<html><span th:text="${franco}" /></html>
(另外,作為旁注, StringTemplateResolver是默認解析器,因此您不必配置它。您的完整代碼可能如下所示。)
@Test
void name() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
Context ctx = new Context();
ctx.setVariable("franco", "prova");
String processedTemplate = templateEngine.process("<html>[[${franco}]]</html>", ctx);
Assertions.assertThat(processedTemplate).isEqualTo("<html>prova</html>");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.