Thymeleaf没有显示弹簧控制器的值

时间:2015-04-10 19:54:56

标签: java spring spring-mvc template-engine 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>

当我点击localhost时,它会显示:text =&#34; $ {data}&#34;而不是Hello Thymeleaf

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

也不起作用。查看解析程序配置必须正确,因为它将main解析为main.html。我正在使用spring4 SpringTemplateEngine和spring4百万美元视图解析器。

提前致谢

3 个答案:

答案 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