我试图按照http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html的教程学习如何发送响应到Thymeleaf模板。但我得到这个错误:找不到模板位置:classpath:/templates/(请添加一些模板或检查您的Thymeleaf配置)
我将message.html文件放在Other Sources目录和<default package>
下的src/main/resources中。
因此,结构如下所示:
某个项目-其他来源-源代码/主/资源---<default package>
----消息. 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>
7条答案
按热度按时间qcbq4gxm1#
Sping Boot 包括对thymeleaf模板引擎的自动配置支持,您的模板将从src/main/resources/templates自动获取。
如果您正在自定义模板位置,请使用Sping Boot 中提供以下thymeleaf属性配置。
ddrv8njm2#
thymeleaf模板的默认目录位置为:
其他路径是Sping Boot 的标准约定。
eh57zj3b3#
这里有两件事:1.如果你使用的是Maven,并且我假设没有自定义文件夹名称。那么文件夹名称应该是src而不是source。2.一旦文件夹被重命名,将你的模板移动到src/resources内的'templates'文件夹中,这应该可以正常运行。
6qqygrtg4#
对于Thymeleaf模板文件放在文件夹src/main/resources/templates/,它将为您工作,也请查看http://www.mkyong.com/spring-boot/spring-boot-hello-world-example-thymeleaf/。希望您会发现使用Sping Boot 轻松启动Thymeleaf。
6bc51xsx5#
我在Sping Boot + Gradle中遇到了同样的问题,以下是我解决它的步骤:
1.打印出类路径
1.一旦我确定resources文件夹没有包含在类路径中,我就从磁盘重新加载应用程序:
d5vmydt96#
我看到了很多关于ThymeLeaf /templates not found的问题。对于使用Eclipse或STS的每个人来说,解决方案可能比任何类型的配置更简单。在使用maven的项目操作过程中,即编译,清理,构建和其他,最终部署Eclipse工作区(或暂存区)上的输出目录
可以擦除某些输出目录结构,而不能正确地重新创建它们。
在我的例子中,我在www.example.com上寻找各种解决方案application.properties,在Spring应用程序上更改autoconfig都无济于事。解决方案很简单:看看里面
看看你能不能在那个目录里找到
以及
下面是resources目录中的文件夹:
复制[eclipseprojectroot文件夹]/src/main/resources中的文件夹,即
into
[eclipseprojectrootfolder]/target/classes
这就是解决方案。Spring正在抱怨正是因为..找不到/templates...因为输出部署文件夹/目录上的目录可能确实不存在...只需手动重新创建目录,一切都会好起来。重要说明,当然,当我提到手动复制目录可能是必要的,这意味着我们需要重新创建目录和里面的文件是模板和静态的百里香叶含量。fquxozlt7#
通过右键单击您的项目创建新文件夹-将其命名为templates -将所有旧模板文件复制到这个新文件夹。