猿问

如何获取Thymeleaf中的html内容?

问题描述
我在SpringBoot中打算写一个邮件模板,在模板中替换变化的参数,转换为html字符串,再传给邮件服务。但是在获取html字符串的时候,结果在预期之外
问题出现的环境背景及自己尝试过哪些方法
这是我在学习SpringBoot的邮件服务遇到的问题,参考文章是SpringBoot(十):邮件服务
相关代码
resource/templates/emailTemplate.html
Title
你好,!
@Test
publicvoidtestThymeleaf(){
Contextcontext=newContext();
context.setVariable("username","wedjg");
Stringresult=templateEngine.process("emailTemplate",context);
System.out.println(result);
}
你期待的结果是什么?实际看到的错误信息又是什么?
预期的结果是输出被渲染后的html字符串,也就是:...;但是实际返回的结果却是"emailTemplate"
请问我该如何做才能获取到html字符串?
慕姐8265434
浏览 2080回答 2
2回答

慕少森

Stringresult=templateEngine.process("emailTemplate",context);第一个参数不应该是"emailTemplate",而应该是对应模板的内容,改成Filefile=ResourceUtils.getFile("classpath:template/emailTemplate.html");Stringresult=templateEngine.process(newString(Files.readAllBytes(file.toPath())),context);

心有法竹

刚好碰到跟楼主相同的问题,如果是采用springboot默认配置的话@AutowiredprivateTemplateEnginetemplateEngine;@TestpublicvoidtestThymeleaf(){Contextcontext=newContext();context.setVariable("username","wedjg");Stringresult=templateEngine.process("emailTemplate",context);System.out.println(result);}直接使用注入的TemplateEngine对象就能直接访问到resource/templates目录下的模板文件
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答