Thymeleaf 不显示来自 spring 控制器的值

Thymeleaf not displaying values from spring controller

第一次练习thymeleaf模板引擎。我已经按照教程等进行操作,但我不知道我哪里出错了。

我的控制器:

public String mainPage(Model model){
    model.addAttribute("data", "Hello Thymeleaf");  
    return "main";
}

我的html如下:

<!DOCTYPE html >
<html xmlns:th="http://www.thymeleaf.org">

<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>
   <h1>th:text="${data}"</h1>
</body>
</html>

当我点击本地主机时,它显示 th:text="${data}" 而不是 Hello Thymeleaf

<h1>"${data}"</h1>

也不行。视图解析器配置必须正确,因为它将 main 解析为 main.html。我正在使用 spring4 SpringTemplateEngine 和 spring4 thymeleaf 视图解析器。

提前致谢

你必须使用th:text

 <h1 th:text="${data}"></h1>

或者如果您不想使用 th:text 属性,则必须使用 th:inline="text" 并使 thymeleaf 呈现标签内的上下文。但是请确保将变量放在 [[]]

 <h1 th:inline="text">[[${data}]]</h1>

删除“${data}”的引号,只使用 ${data}。我也同意@Faraj Farook

Thymeleaf 不是 Velocity 或 Freemarker,也不会盲目地替换表达式。您需要适当标记属性中的表达式,例如

<h1 data-th-text="${data}" />