亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

org.thymeleaf.templatemode.StandardTemplate

org.thymeleaf.templatemode.StandardTemplate

慕容3067478 2022-12-21 16:39:12
在我的 Spring boot API 中,我需要使用 Thymeleaf 發送電子郵件。因此,我選擇了本教程。但是,在添加ThymeleafConfig.java時,STS 會拋出以下錯誤。無法解析導入 org.thymeleaf.templatemode.StandardTemplateModeHandlers如this answer中所述,我按如下方式更改了依賴關系。但它并沒有解決問題。<dependency>  <groupId>org.thymeleaf</groupId>  <artifactId>thymeleaf</artifactId>  <version>3.0.11.RELEASE</version></dependency><dependency>  <groupId>nz.net.ultraq.thymeleaf</groupId>  <artifactId>thymeleaf-layout-dialect</artifactId></dependency>ThymeleafConfig.javaimport java.nio.charset.StandardCharsets;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;//following import is not resolvedimport org.thymeleaf.templatemode.StandardTemplateModeHandlers;import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;@Configurationpublic class ThymeleafConfig {  @Bean  public ClassLoaderTemplateResolver htmlTemplateResolver(){    ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();    emailTemplateResolver.setPrefix("/templates/");    emailTemplateResolver.setSuffix(".html");      emailTemplateResolver.setTemplateMode(StandardTemplateModeHandlers.HTML5.getTemplateModeName());    emailTemplateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());    return emailTemplateResolver; }}
查看完整描述

1 回答

?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

使用 TemplateMode 而不是 StandardTemplateModeHandlers


import org.thymeleaf.templatemode.TemplateMode;


    @Bean

    public SpringResourceTemplateResolver htmlTemplateResolver(){

        SpringResourceTemplateResolver emailTemplateResolver = new SpringResourceTemplateResolver();

        emailTemplateResolver.setPrefix("classpath:/templates/");

        emailTemplateResolver.setSuffix(".html");

        emailTemplateResolver.setTemplateMode(TemplateMode.HTML);

        emailTemplateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());

        return emailTemplateResolver;

    }

在 HTML 模板中,使用 th:text


<!DOCTYPE HTML>

<html xmlns:th="http://www.thymeleaf.org">

<head>

    <title>hello</title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

</head>

<body>

 <p th:text="${name}">

</body>

</html>

當你處理你的模板時,使用 thymeleaf 的 TemplateEngine


 import org.thymeleaf.TemplateEngine; 


   @Autowired

    private TemplateEngine templateEngine;


       Context context = new Context();

            context.setVariables(mail.getModel());

            String html = templateEngine.process("email-template", context);


查看完整回答
反對 回復 2022-12-21
  • 1 回答
  • 0 關注
  • 111 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號