Spring boot 百里香叶不工作${name}在html中显示

Spring boot 百里香叶不工作${name}在html中显示,spring-boot,thymeleaf,Spring Boot,Thymeleaf,我正试图输出经过百里香叶处理的html,所以像${name},${address}之类的值将被填充 但实际发生的是,templateEngine正在拆分html,这些html看起来实际上与之前的一样 主要是从memorynotfound.com发布的 这是我的ThymeleafConfig @Configuration public class ThymeleafConfig { @Bean public SpringTemplateEngine springTemplateE

我正试图输出经过百里香叶处理的html,所以像${name},${address}之类的值将被填充

但实际发生的是,templateEngine正在拆分html,这些html看起来实际上与之前的一样

主要是从memorynotfound.com发布的

这是我的ThymeleafConfig

@Configuration
public class ThymeleafConfig {

    @Bean
    public SpringTemplateEngine springTemplateEngine() {
        SpringTemplateEngine templateEngine = new SpringTemplateEngine();
        templateEngine.addTemplateResolver(htmlTemplateResolver());
        return templateEngine;
    }

    @Bean
    public SpringResourceTemplateResolver htmlTemplateResolver(){
        SpringResourceTemplateResolver emailTemplateResolver = new SpringResourceTemplateResolver();
        emailTemplateResolver.setPrefix("classpath:/templates/");
        emailTemplateResolver.setSuffix(".html");
        emailTemplateResolver.setTemplateMode(StandardTemplateModeHandlers.HTML5.getTemplateModeName());
        emailTemplateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
        emailTemplateResolver.setCacheable(false);
        return emailTemplateResolver;
    }
}
我调用templateEngine的方法

@Component
public class ThymeleafEngine {

    @Autowired
    private SpringTemplateEngine templateEngine;

    Email email = new Email();

    public String process () {   
        Map model = new HashMap();
        model.put("name", "Bob");
        email.setMap(model);

        Context context = new Context();
        context.setVariables(email.getMap());

        templateEngine.initialize();

        String html = templateEngine.process("email_template", context);

        return html;
    }
}
电子邮件对象

public class Email {
    String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    Map map;

    public Map getMap() {
        return map;
    }

    public void setMap(Map map) {
        this.map = map;
    }
}
我无法在这篇文章中添加更多的代码,但html非常基本,唯一的区别在于
标记中的${name}。

<p th:text="'Dear ' + ${name} + ','" />
需要在html模板中,而不是

<p>Dear ${name}, </p>
亲爱的${name}


您的HTML文件是否在
模板
文件夹中?这是Thymeleaf templates.yep在其模板文件夹中的默认位置