Thymeleaf не может найти шаблон индекса - PullRequest
0 голосов
/ 01 ноября 2018

Я получаю ошибку:

org.thymeleaf.exceptions.TemplateInputException: ошибка разрешается шаблон [индекс], шаблон может не существовать или может быть недоступен любым из настроенных резолверов шаблонов

Этот проект содержит только IndexController и index.html, который расположен resources/templates/index.html

Вот изображение структуры папки ресурса:

enter image description here

Это метод внутри контроллера:

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

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Я не знаю, как вы конфигурируете ваши бины Thmeleaf, но для того, чтобы использовать шаблоны, расположенные в вашей папке шаблонов, вы должны иметь конфигурацию, подобную приведенной ниже.

@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";
}
0 голосов
/ 01 ноября 2018

Попробуйте сопоставить их отдельно и посмотреть, решит ли это проблему Попробуйте следующее для индекса.

  @GetMapping("index")
    public String getIndex(){
        return "index"; 
    }

Как вы можете видеть, я изменил имя метода с index на getIndex, что более разумно при названии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...