java - 如何防止 Thymeleaf 对我的模板进行 url 编码?

标签 java thymeleaf

我们有以下 thymeleaf 配置:

    @Bean
    public TemplateEngine emailTemplateEngine() {
        final SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.addTemplateResolver(htmlTemplateResolver());
        templateEngine.addTemplateResolver(stringTemplateResolver());
        return templateEngine;
    }

    private ITemplateResolver htmlTemplateResolver() {
        final ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
        templateResolver.setOrder(1);
        templateResolver.setResolvablePatterns(Collections.singleton("templates/*"));
        templateResolver.setSuffix(".html");
        templateResolver.setTemplateMode(TemplateMode.HTML);
        templateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
        templateResolver.setCacheable(false);
        return templateResolver;
    }

    private ITemplateResolver stringTemplateResolver() {
        final StringTemplateResolver templateResolver = new StringTemplateResolver();
        templateResolver.setOrder(2);
        templateResolver.setTemplateMode(TemplateMode.TEXT);
        templateResolver.setCacheable(false);
        return templateResolver;
    }

即 - 两个解析器,一个用于 html,一个用于文本。

我们使用 html 作为电子邮件正文,使用文本作为主题。

给定:

  • 主题"template"(纯字符串),如下所示:"[[${values.createdBy}]] created a widget"

  • a values.createdBy Brock O'Samson 的值

我们看到的结果是:Brock O'Samson

有什么想法要配置吗? “模板模式”似乎是显而易见的解决方案,但它已经设置为文本。

最佳答案

两种独立的方法:

关于java - 如何防止 Thymeleaf 对我的模板进行 url 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54951544/

相关文章:

java - 通过 intent 向 Viber 和 Line 等应用程序共享视频会引发错误

java - Monster 中的构造函数不能应用于给定类型

java - 在java中使用thymeleaf html模板下载pdf文件时,css样式不可见

maven - 创建名称为 'mvcContentNegotiationManager'的bean时出错

java - 更改html页面的一部分而不刷新整个页面

java - StyleManager 未正确应用 CSS

java - 如何指导 lambda 表达式执行类中的特定方法

jvm - Java程序执行背后的内部过程

java - Thymeleaf:在同一页面上显示两个 JPA 实体表的数据

java - 无法到达链接 th :src route on thymeleaf