我是第一次练习百日咳模板引擎。我已经按照教程等等,但我不知道我哪里出错了。
我的控制器:
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>
当我点击localhost时,它会显示:text =&#34; $ {data}&#34;而不是Hello Thymeleaf
<h1>"${data}"</h1>
也不起作用。查看解析程序配置必须正确,因为它将main解析为main.html。我正在使用spring4 SpringTemplateEngine和spring4百万美元视图解析器。
提前致谢
答案 0 :(得分:6)
您必须使用th:text
<h1 th:text="${data}"></h1>
或者如果您不想使用th:text
属性,则必须使用th:inline="text"
并使百里香树在标记内呈现上下文。但请确保将变量放在[[
和]]
<h1 th:inline="text">[[${data}]]</h1>
答案 1 :(得分:2)
Thymeleaf不是Velocity或Freemarker,并不是盲目地取代表达。您需要在适当的标记属性中使用表达式,例如
<h1 data-th-text="${data}" />
答案 2 :(得分:-2)
删除引号至&#34; $ {data}&#34;并使用$ {data}。我也同意@Faraj Farook