2 votes

Comment puis-je voir les modifications apportées aux modèles Thymeleaf dans Broadleaf sans redémarrer mon serveur ?

J'ai téléchargé l'édition communautaire de Broadleaf et j'essaie de modifier certaines balises dans les modèles Thymeleaf. (Par exemple : layout/homepage.html). Cependant, lorsque je fais un changement, je ne vois pas mes changements lorsque je rafraîchis mon navigateur, à moins que je redémarre mon serveur de site Broadleaf. J'ai le même problème lorsque je modifie JS et CSS.

Y a-t-il un paramètre à modifier pour voir les modifications apportées au front-end sans redémarrer le serveur ? Je soupçonne qu'une sorte de paramètre de cache empêche le rechargement des modèles à partir du fichier.

2voto

pequals Points 81

Désolé pour le post de forum trompeur. Les paramètres de cache auxquels il fait référence n'atténuent pas le problème que vous rencontrez. Sans Jrebel ou une sorte de mécanisme de changement de cache, vous ne pourrez pas voir les changements sans redémarrer le serveur. Une chose qui pourrait fonctionner est que si vous exécutez le projet à partir de votre IDE, les changements de modèles pourraient apparaître parce qu'il pourrait placer vos modèles modifiés dans le Jar qui est déployé.

Après une recherche sur Google, je suis aussi tombé sur ceci https://blog.codeleak.pl/2016/12/thymeleaf-reload-templates-and-static-resources.html . Je ne suis pas sûr que cela fonctionne mais cela vaut la peine d'essayer.

1voto

Marquee Points 605

L'utilisation de la reconstruction de l'IDE semble fonctionner avec le site de démonstration oob Breadleaf lorsqu'il est exécuté à partir d'un terminal avec le but maven spring-boot :

mvn spring-boot:run

Une fois qu'il fonctionne, si vous mettez à jour les gabarits/csss dans l'IDE avec construction automatique activée (important !), alors le site reflète les changements lors de l'actualisation.

J'ai vérifié que cela fonctionne avec IntelliJ, Spring Tool Suite, et Eclipse de base.

0voto

Dario Points 43

Avec Broadleaf 6.0.6, j'ai dû ajouter un haricot résolveur de modèles :

@Bean
public BroadleafTemplateResolver devTemplateResolver() {
    BroadleafThemeAwareTemplateResolver resolver = new BroadleafThemeAwareTemplateResolver();
    resolver.setPrefix(Paths.get("src/main/resources/").toUri().toString());
    resolver.setTemplateFolder("webTemplates/");
    resolver.setSuffix(".html");
    resolver.setCharacterEncoding("UTF-8");
    resolver.setCacheable(false);
    resolver.setOrder(10);
    return resolver;
}

C'est un projet de "site de démonstration", classe SiteConfig.java.

Ce haricot va au sommet de la liste des résolveurs de modèles, ainsi les changements aux fichiers de modèles sont récupérés dans le dossier src, sans avoir besoin de reconstruire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X