J'essaie de suivre ce tutoriel sur http://www.thymeleaf.org/doc/articles/springmvcaccessdata.html pour savoir comment envoyer des réponses au modèle Thymeleaf. Mais j’obtiens cette erreur: Impossible de trouver l’emplacement du modèle: classpath:/templates/(veuillez ajouter des modèles ou vérifier votre configuration Thymeleaf)
J'ai mis le fichier message.html dans le répertoire Other Sources et à l'intérieur de src/main/resources sous <default package>
.
Donc, la structure ressemble à:
SomeProject - Autres sources - src/main/resources ---<default package>
---- message.html
Je me demandais pourquoi cela apparaît sous <default package>
mais pas sous <template>
? Est-ce que ça pourrait être le problème? Si oui, comment suis-je censé le changer? J'utilise netbeans et maven. Des idées s'il vous plaît? Ce sont les dépendances que j'ai dans mon 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>
Dans le contrôleur j'ai
@RequestMapping(value = "message", method = RequestMethod.GET)
public String messages(Model model) {
model.addAttribute("messages", messageRepository.findAll());
return "message";
}
Et dans la vue:
<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>
2 choses ici: 1. Si vous utilisez Maven, je présume qu'aucune personnalisation des noms de dossier. Ensuite, le nom du dossier doit être src au lieu de source. 2. Une fois que le dossier a été renommé, déplacez vos modèles dans le dossier 'templates' de src/resources, cela devrait fonctionner correctement.
Spring Boot inclut la prise en charge de la configuration automatique pour les moteurs de templates thymeleaf. Vos modèles seront automatiquement récupérés à partir de src/main/resources/templates.
si vous personnalisez l'emplacement de votre modèle, utilisez ci-dessous la configuration de la propriété thymeleaf disponible dans Spring Boot.
spring.thymeleaf.check-template = true # Vérifiez que le modèle existe avant de le restituer.
spring.thymeleaf.check-template-location = true # Vérifiez que l'emplacement des modèles existe.
spring.thymeleaf.enabled = true # Activez la résolution de vue MVC Thymeleaf.
spring.thymeleaf.prefix = classpath:/templates/# Préfixe préfixé pour afficher les noms lors de la création d'une URL.
spring.thymeleaf.suffix = .html # Suffixe à ajouter pour afficher les noms lors de la création d'une URL.
Pour les fichiers de modèle Thymeleaf, mettez-les dans le dossier src/main/resources/templates/et cela fonctionnera pour vous. Consultez aussi http://www.mkyong.com/spring-boot/spring-boot-hello-world-example -thymeleaf/ . J'espère que vous trouverez facile de lancer thymeleaf avec une chaussure de printemps.