0
votes

Thymeleaf templategine Impossible de traiter les modèles sur le serveur distant

Je tente d'envoyer des courriels en utilisant Thymeleaf à partir d'une application Springboot. Les modèles sont traités localement à l'aide de la méthode suivante:

org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/mail/NEWUSER], template might not exist or might not be accessible by any of the configured Template Resolvers


0 commentaires

3 Réponses :


1
votes

codage rigide du texte brut / mail / était le problème. Utilisé un TEMPLATERESOLVER et cela corrigé le problème.

context.setVariables(messageMap);

    TemplateEngine templateEngine = new TemplateEngine();

    ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
    templateResolver.setPrefix("templates/mail/");
    templateResolver.setSuffix(".html");
    templateResolver.setTemplateMode(TemplateMode.HTML);
    templateResolver.setCharacterEncoding("UTF-8");
    templateResolver.setOrder(0);

    templateEngine.setTemplateResolver(templateResolver);


1 commentaires

Je vais marquer cela comme une réponse, mais veuillez m'informer s'il y a une meilleure façon de le faire et j'accepterai cette réponse à la place.



0
votes

Vous n'avez pas fourni suffixe dans Case ci-dessus. Vous n'avez pas de pages HTML dans le répertoire statique pour le traitement. Veuillez afficher la page HTML que vous souhaitez utiliser pour le courrier électronique pouvant contenir votre courrier électronique / mail / mail.

merci, Vishal


1 commentaires

Salut Vishal, 5ème ligne Down est l'endroit où je fournis le suffixe, j'allais supprimer cette question et sa réponse, car je pense qu'il y a de meilleures réponses ailleurs, mais je l'ai maintenue comme Stack m'a découragé de la supprimer (comme je l'ai techniquement trouvé un Solution). Pour répondre à vos autres questions, le fichier HTML n'est pas pertinent (et légèrement sensible), car il s'agit d'un modèle valide, donc je ne l'ai pas fourni. Je stocke des pages HTML dans un répertoire statique, c'est-à-dire SRC / Main / Ressources / Modèles, mais j'ai créé un sous-répertoire / mail afin de garder les éléments titsier. Toutes mes excuses pour la confusion.



1
votes

Faites de même que @matgr a écrit mais n'oubliez pas de transmettre une chaîne vide à templategine.procticise méthode comme ci-dessous.

return templateEngine.process("", context);


0 commentaires