Thymeleaf找不到索引模板

时间:2018-11-01 15:29:33

标签: java spring thymeleaf

我得到了错误:

  

org.thymeleaf.exceptions.TemplateInputException:解决错误   模板[index],模板可能不存在或无法访问   通过任何已配置的模板解析器

该项目仅包含一个IndexController和位于resources/templates/index.html

的index.html。

这是资源文件夹结构的图像:

enter image description here

这是控制器内的方法:

@RequestMapping(value = {"/", "/home", "/index"})
public String index(){
    return "index";
}

2 个答案:

答案 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";
}