gpt4 book ai didi

java - 升级到 Thymeleaf 3 并在 Spring 中重新实现富 HTML 电子邮件

转载 作者:搜寻专家 更新时间:2023-11-01 02:59:34 24 4
gpt4 key购买 nike

我正在将我的项目从 Thymeleaf 2 迁移到 3,但我遇到了电子邮件模板解析器干扰我的 Web 模板解析器的问题。

当我们第一次实现 Thymeleaf 时,我们遵循此文档以允许使用电子邮件模板和 Web 模板并且没有出现任何问题(第 4.2 节):

http://www.thymeleaf.org/doc/articles/springmail.html

在转换到 Thymeleaf 3 的过程中,我只使用了 HTML 模板的一个模板解析器(使用 SpringResourceTemplateResolver)并且转换很好。我能够毫无问题地运行我的应用程序,并且所有呈现的 View 模板都没有问题。

但是,当包含电子邮件模板解析器(使用 ClassLoaderTemplateResolver)时,在转到返回 View 的任何 Controller 端点时会发生以下错误:

java.io.FileNotFoundException: ClassLoader resource "thymeleaf/thymeleaf/login.html" does not exist

这表明它正在尝试从 ClassLoaderTemplateResolver 而不是 SpringResourceTemplateResolver 加载模板。在 Thymeleaf 2 中设置 Order 属性解决了这个问题,但这在 Thymeleaf 3 中似乎不起作用。

我在 Thymeleaf 3 文档中找不到任何关于像 Thymeleaf 2 文档中那样有 2 个模板解析器的帮助。

关于如何让这个工作或文档我可能忽略了的任何建议?

最佳答案

我有相同的设置(用于电子邮件的 ClassLoaderTemplateResolver 和用于 html 页面模板的 SpringResourceTemplateResolver)。我认为您需要设置此属性:

resolver.setCheckExistence(true);

无论哪个模板解析器先发生,否则 spring 将假定它存在并且您将看到您看到的错误。

关于java - 升级到 Thymeleaf 3 并在 Spring 中重新实现富 HTML 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39615624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com