如何从春季启动中找到Thymeleaf模板
作者:互联网
我试图在http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html学习如何发送对Thymeleaf模板的响应.但我得到这个错误:找不到模板位置:classpath:/ templates /(请添加一些模板或检查你的Thymeleaf配置)
我将message.html文件放在Other Sources目录中,并放在< default package>下的src / main / resources中.
所以结构看起来像:
SomeProject
– 其他来源
–src /主/资源
—<默认包>
—- message.html
我想知道为什么它显示在< default package>下但不在< template>下?可能是问题吗?如果是这样我怎么能改变它?我正在使用netbeans和maven.有什么想法吗?这些是我在pom.xml中的依赖项:
<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而不是source.
2.重命名文件夹后,将模板移动到src / resources中的“templates”文件夹中,这应该可以正常运行.
标签:java,spring,maven,spring-boot-2,thymeleaf 来源: https://codeday.me/bug/20190717/1487431.html