Java 在我的servlet中使用thymeleaf,找不到html模板文件

Java 在我的servlet中使用thymeleaf,找不到html模板文件,java,servlets,thymeleaf,Java,Servlets,Thymeleaf,我试图使用thymeleaf读取html模板,在其中放置一个变量,然后将其作为电子邮件发送。然而,我被困在阅读html模板文件的部分 这是我得到的错误: The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>org.thymeleaf

我试图使用thymeleaf读取html模板,在其中放置一个变量,然后将其作为电子邮件发送。然而,我被困在阅读html模板文件的部分

这是我得到的错误:

The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>org.thymeleaf.exceptions.TemplateInputException: Error resolving template &quot;invitationemail&quot;, template might not exist or might not be accessible by any of the configured Template Resolvers
    org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:247)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1192)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1148)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1095)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1008)
    org.thymeleaf.TemplateEngine.process(TemplateEngine.java:982)
    yesterscape.ses.SESManagement.sendInvitationEmail(SESManagement.java:69)
    yesterscape.users.InviteUserServlet.doPost(InviteUserServlet.java:68)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
如您所见,我将后缀设置为.html,并在要处理的文件名中键入“invitationemail”。但还是找不到

我应该在servlet体系结构的哪个文件夹中包含invitationemail.html文件?我认为它应该在WEB-INF文件夹中,这是它目前所在的位置,但我仍然没有运气


感谢您提供的任何帮助。

使用另一个
ITemplateResolver
实现,而不是
ClassLoaderTemplateResolver


并将您的电子邮件模板放入
/WEB-INF/template
文件夹中。

而不是
ClassLoaderTemplateResolver
使用另一个
ITemplateResolver
实现如下


并将您的电子邮件模板放入
/WEB-INF/template
文件夹。

问题已解决。使用ClassLoaderTemplateResolver(电子邮件内容所需的解析器)时,html文件应放在以下目录中:

WEB-INF/课程


根据此帖子回答:

问题已解决。使用ClassLoaderTemplateResolver(电子邮件内容所需的解析器)时,html文件应放在以下目录中:

WEB-INF/课程


根据这篇文章回答:

文件夹结构中你的
invitationemail.html
具体在哪里?在项目结构中(我使用eclipse)有一个名为WebContent的文件夹,我这里有一份invitationemail.html的副本。在这个文件夹里还有一个叫做WEB-INF的文件夹,我在那个文件夹里还有一个副本。也许我在解析器或模板引擎的配置中遗漏了什么?文件夹结构中您的
invitationemail.html
具体在哪里?在项目结构中(我使用eclipse)有一个名为WebContent的文件夹,我这里有一个invitationemail.html的副本。在这个文件夹里还有一个叫做WEB-INF的文件夹,我在那个文件夹里还有一个副本。也许我在解析器或模板引擎的配置中遗漏了什么?嘿,我试过了,但是现在我发现了这个错误。服务器遇到内部错误(),无法完成此请求。

异常org.thymeleaf.exceptions.TemplateProcessingException:ServletContext与org.thymeleaf.resourceresolver.ServletContextResourceResolver的资源解析只能在上下文实现org.thymeleaf.context.IWebContext时执行[当前上下文:org.thymeleaf.context.context]好的,看来我已经解决了这个问题,我认为有必要使用类解析器,但是后来我发现一篇帖子说我应该将它添加到“classes”文件夹中。现在我只是遇到了解析问题。嘿,我试过了,但是现在我遇到了这个错误。服务器遇到了一个内部错误()这使它无法满足此请求。

异常org.thymeleaf.exceptions.TemplateProcessingException:ServletContext与org.thymeleaf.resourceresolver.ServletContextResourceResolver的资源解析只能在上下文实现org.thymeleaf.context.IWebContext时执行[当前上下文:org.thymeleaf.context.context]好吧,看来我已经解决了这个问题,我认为有必要使用类解析器,但后来我发现一篇帖子说我应该将它添加到“classes”文件夹中。现在我只是遇到了解析问题。
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setTemplateMode("HTML5");
resolver.setSuffix(".html");
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);
final Context context = new Context(Locale.US);
context.setVariable("name", nameFrom);
final String htmlVer = templateEngine.process("invitationemail", context);
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/template/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
// ... etc