it-roy-ru.com

Как найти шаблон Thymeleaf из весенней загрузки

Я пытаюсь следовать этому руководству по адресу http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html , чтобы узнать, как отправлять ответы на шаблон Thymeleaf. Но я получаю эту ошибку: Не удается найти расположение шаблона: classpath:/templates/(пожалуйста, добавьте несколько шаблонов или проверьте конфигурацию Thymeleaf)

Я поместил файл message.html в каталог «Другие источники» и в каталог src/main/resources в <default package>

Итак, структура выглядит так: 

SomeProject - Другие источники -- src/main/resources --- <default package>---- message.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>   
3
Gustav

2 вещи здесь: 1. Если вы используете Maven, и я не предполагаю никаких настроек имен папок. Тогда имя папки должно быть src вместо source. 2. После того, как папка была переименована, переместите ваши шаблоны в папку 'templates' внутри src/resources, это должно работать нормально. 

0
Himanshu Bhardwaj

Spring Boot включает в себя поддержку автоматической настройки шаблонизаторов тимилиста, ваши шаблоны будут автоматически выбираться из src/main/resources/templates.

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

  • spring.thymeleaf.check-template = true # Проверьте, существует ли шаблон перед его рендерингом.

  • spring.thymeleaf.check-template-location = true # Проверьте, что расположение шаблонов существует.

  • spring.thymeleaf.enabled = true # Включить разрешение представления MVC Thymeleaf.

  • spring.thymeleaf.prefix = classpath:/templates/# Префикс, который добавляется для просмотра имен при создании URL-адреса.

  • spring.thymeleaf.suffix = .html # Суффикс, который добавляется для просмотра имен при создании URL-адреса.

7
Chandu

Для файлов шаблонов Thymeleaf поместите в папку src/main/resources/templates /, и это будет работать для вас, также проверьте http://www.mkyong.com/spring-boot/spring-boot-hello-world-example -тимелиф/ . Надеюсь, вам будет легко пнуть тимелист с помощью весеннего сапога.

1
Yogendra Mishra

Расположение каталога по умолчанию для шаблонов thymeleaf:

src/main/resources/templates

Другие пути являются стандартными соглашениями для Spring Boot.

 Spring Boot thymeleaf directory structure

1
chocksaway