我正在尝试按照http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html上的教程学习如何向Thymeleaf模板发送响应。但我收到此错误:找不到模板位置:classpath:/ templates /(请添加一些模板或检查您的Thymeleaf配置)
我将message.html文件放在Other Sources目录中的src / main / resources中<default package>。
<default package>
所以结构看起来像:
SomeProject-其他来源–src / main / resources — <default package> -— message.html
我想知道为什么它显示下面<default package>而不显示<template>?可能是问题吗?如果是这样,我应该如何更改它?我正在使用netbeans和maven。有什么想法吗?这些是我在pom.xml中具有的依赖项:
<template>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency>
在控制器中,我有
@RequestMapping(value = "message", method = RequestMethod.GET) public String messages(Model model) { model.addAttribute("messages", messageRepository.findAll()); return "message"; }
并在视图中:
<ul th:each="message : ${messages}"> <li th:text="${message.id}">1</li> <li><a href="#" th:text="${message.title}">Title ...</a></li> <li th:text="${message.text}">Text ...</li> </ul>
这里有2件事:1.如果您使用的是Maven,并且我不假设对文件夹名称进行任何自定义。然后,文件夹名称应为src而不是源。2.重命名文件夹后,将模板移至src / resources内的’templates’文件夹中,即可正常运行。