我想要按照本教程http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html了解如何发送对Thymeleaf模板的响应。但我得到这个错误:无法找到模板位置:classpath:/模板/(请添加一些模板或检查您的Thymeleaf配置)如何从弹簧启动中找到Thymeleaf模板
我把message.html文件放在其他源目录和src/main/resources下<default package>
。
所以结构如下:
SomeProject - 其他来源 --src /主/资源 --- <default package>
---- 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>
@HhuShu Bhardwaj我在这个问题上犯了一个错字。在NetBeans中,文件夹结构显示如下src/main/resources,它位于NetBeans项目层次结构中其他资源目录下。我会解决问题中的错字。谢谢你的帮助。现在,也许你可以进一步反馈? – Gustav
我已经给了2分。您的模板是否位于src/main/resources下的模板目录中? –
@ Himanshu我在src/main/resources下创建了模板目录,并将html文件放在那里,现在问题已解决。感谢您的支持。我会将问题标记为已回答。 – Gustav