我得到了错误:
org.thymeleaf.exceptions.TemplateInputException:解决错误 模板[index],模板可能不存在或无法访问 通过任何已配置的模板解析器
该项目仅包含一个IndexController和位于resources/templates/index.html
这是资源文件夹结构的图像:
这是控制器内的方法:
@RequestMapping(value = {"/", "/home", "/index"})
public String index(){
return "index";
}
答案 0 :(得分:0)
尝试分别映射它们,看看是否可以解决问题。尝试以下操作获取索引。
@GetMapping("index")
public String getIndex(){
return "index";
}
如您所见,我将方法名称从index更改为getIndex,这更有意义,命名更明智。
答案 1 :(得分:0)
我不知道如何配置Thmeleaf Bean,但是要使用位于template文件夹中的模板,您应该具有类似以下的配置。
@Bean
@Description("Thymeleaf template resolver serving HTML 5")
public ClassLoaderTemplateResolver templateResolver() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
// Set prefix should do the trick.
templateResolver.setPrefix("templates/");
templateResolver.setCacheable(false);
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
此外,如果我没记错的话,默认情况下,资源包将用作基础文件夹,因此,如果在/ index之前添加模板,它应该可以工作。
@RequestMapping(value = {"/", "/home", "/index"})
public String index(){
return "templates/index";
}