Thymeleaf没有在Spring Boot项目中显示值

时间:2018-03-10 15:10:11

标签: java spring spring-boot thymeleaf

我是Thymeleaf的新手。我有一个spring-boot项目,我试图显示一些从spring控制器设置的属性值。

@Controller
public class HomeController {
    @RequestMapping(path = "/info", method = RequestMethod.GET)
    public String info(Model model) {
    model.addAttribute("message", "Thymeleaf");
    return "info";
    }
}

请在我的info.html页面下面找到:

<!DOCTYPE html>
<html xmlns:thm="http://www.thymeleaf.org">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      <title>Info</title>
   </head>
   <body>
     <h1 thm:text="${message}"></h1>
   </body>
</html>

请在下面找到我的pom.xml文件[仅限依赖项]

   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      <dependency>
          <groupId>org.apache.tomcat.embed</groupId>
          <artifactId>tomcat-embed-jasper</artifactId>
      </dependency>
       <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>
  </dependencies>

我知道关于此主题的 stackoverflow中的帖子很少我已经完成了下面列出的一些内容:

example 1 example 2

我已根据stackoverflow博客的建议修改了我的html页面。但问题仍然存在。

我的网页根本没有重新连接Thymeleaf文本。 任何人都可以找出确切的问题吗?

2 个答案:

答案 0 :(得分:2)

thm不是Thymleaf中的有效前缀,请改用<h1 th:text="${message}"></h1>

答案 1 :(得分:0)

您可以先从发送的Model对象中检索它,然后使用th:each然后th:value来使用它。

 <div th:each="message : ${message}">
   <h1 th:text="${message}"></h1>
 </div>