在我的Spring boot应用程序中有以下项目结构,我想在其中使用Thymeleaf
projectName
-Gradle-Module1(Spring boot module)
-build
-src
-main
-resources
-templates
index.html
build.gradle
-Gradle-Module2
...
build.gradle
...
但是Spring引导找不到我的模板目录,显示警告
找不到模板位置:classpath:/templates/(请添加一些模板或检查您的Thymeleaf配置)
PS:我正在使用@EnableAutoConfiguration
在我的控制器代码中,我正在执行以下操作:
@Controller
@EnableAutoConfiguration
public class BaseController {
@RequestMapping(value = "/")
public String index() {
return "index.html";
}
}
和索引。html
文件只打印hello world。
因此,通常它应该查看src/resources/templates/
(我想是同一个Gradle模块),但不知何故它无法找到它。
当我尝试访问localhost:8080
时,我发现以下错误
解析模板“index.html”时出错,模板可能不存在或任何已配置的模板解析程序都无法访问该模板`
我有什么遗漏吗<欢迎指点。谢谢
@GetMapping("/")
public String index() {
return "index";
}
您应该只返回文件名。例如没有. hmtl
@RequestMapping(value = "/")
public String index() {
return "index";
}
您必须配置Thymeleaf如下:
@Configuration
public class ThymeleafConfig {
@Bean
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setCacheable(false);
templateResolver.setPrefix("classpath:/templates/");
templateResolver.setSuffix(".html");
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine();
springTemplateEngine.addTemplateResolver(templateResolver());
return springTemplateEngine;
}
@Bean
public ThymeleafViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setOrder(1);
return viewResolver;
}
}
Spring doc建议将@EnableAutoConfiguration
注释添加到主@Configuration
类中。
另外,你似乎有错误的项目结构,典型的包层次结构是:
src
|- main
|- java
|- resources
|- static
|- templates
|- test
在这种情况下,您的模板将在src/main/Resources/tem板
中,而不是在src/Resources/tem板/
中。
Spring Boot是否可以在上下文中正确地加载旧的jar?旧jar中的pom文件是否不会受到影响,因为它引用了一些父级的spring版本以及使用相同版本的jar?或者这些JAR只使用spring boot添加的依赖关系? 有人能建议我哪里做错了吗?
我按照这个https://spring.io/guides/gs/accessing-data-mysql/指南连接mysql db到Spring启动项目 但是在运行应用程序时出现以下错误,我正在生成Spring starter项目,并且在通过Spring工具套件创建项目时仅选择web、mysql和jpa框 以下是application.properties 和pom.xml 编辑:添加sprin
我从Spring Initializr下载了一个spring-boot空项目,编译时它给我以下错误: 我已经尝试了jdk 8和12,看起来它并没有改变什么。 这是我的pom.xml 我已经在这里阅读了所有类似的主题,但我的问题不同。我必须使用Maven,但还没有添加任何插件。
配置文件 模式。graphqls 错误
这些天我正在构建一个简单的spring-boot项目。 当我执行程序时,我发现代码中有一些我无法纠正的错误。由于我是这方面的初学者,请帮我纠正所有这些错误。 控制台输出: 程序。 < code > application . properties 文件的代码段:
我的问题是我未能显示胸腺叶模板。我怀疑配置错误,但我似乎找不到它。提前感谢:) 波姆。xml: 模板在: Spring配置: 控制器: 我正在尝试访问:并获得404。 另一件事,有人能解释(或给文档一个链接)哪个servlet被用来“返回”模板html吗?是Spring调度员servlet吗? 好的,所以我忘记了,谢谢@Benjamin c.然而,添加它会产生: