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}" />
第一次练习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}" />