import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.StringTemplateResolver;
import org.thymeleaf.templatemode.TemplateMode;
import java.util.HashMap;
import java.util.Map;
public class EmailService {
public static void main(String[] args) {
// Define the template string
String emailTemplateString = "Hello ${greetings},\n\nHere is your report: ${subject}.\n\nBest regards,\n${team}\n\n(Email Subject: ${name})";
// Create the context and set variables
Context context = new Context();
Map<String, Object> variables = new HashMap<>();
variables.put("greetings", "Dear Frodo");
variables.put("subject", "Sub Custody Report");
variables.put("team", "Ring of the fellowship");
variables.put("name", "Aragorn");
context.setVariables(variables);
// Set up the template engine
TemplateEngine textTemplateEngine = new TemplateEngine();
StringTemplateResolver stringTemplateResolver = new StringTemplateResolver();
stringTemplateResolver.setTemplateMode(TemplateMode.TEXT);
stringTemplateResolver.setCacheable(false);
textTemplateEngine.setTemplateResolver(stringTemplateResolver);
// Process the template
String processedTemplate = textTemplateEngine.process(emailTemplateString, context);
// Print the result
System.out.println(processedTemplate);
}
}
得到这样的回复:
“你好${问候}, 这是您的报告:${subject}。 此致, ${团队} (电子邮件主题:${name})” 我知道模板不是 .txt 文件,但据我所知,应该可以从 String 中制作它,对于这种情况需要使用 TemplateMode.TEXT,尽管他们都没有放置值。
我更改了模板字符串中变量的语法并关闭了
TemplateMode.TEXT
。
最终代码如下,
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.StringTemplateResolver;
import org.thymeleaf.templatemode.TemplateMode;
import java.util.HashMap;
import java.util.Map;
public class EmailService {
public static void main(String[] args) {
// Define the template string
String emailTemplateString = "Hello [[${greetings}]],\n\nHere is your report: [[${subject}]].\n\nBest regards,\n[[${team}]]\n\n(Email Subject: [[${name}]])";
// Create the context and set variables
Context context = new Context();
Map<String, Object> variables = new HashMap<>();
variables.put("greetings", "Dear Frodo");
variables.put("subject", "Sub Custody Report");
variables.put("team", "Ring of the fellowship");
variables.put("name", "Aragorn");
context.setVariables(variables);
// Set up the template engine
TemplateEngine textTemplateEngine = new TemplateEngine();
StringTemplateResolver stringTemplateResolver = new StringTemplateResolver();
// stringTemplateResolver.setTemplateMode(TemplateMode.TEXT);
stringTemplateResolver.setCacheable(false);
textTemplateEngine.setTemplateResolver(stringTemplateResolver);
// Process the template
String processedTemplate = textTemplateEngine.process(emailTemplateString, context);
// Print the result
System.out.println(processedTemplate);
}
}
我看到了这个输出,
Hello Dear Frodo,
Here is your report: Sub Custody Report.
Best regards,
Ring of the fellowship
(Email Subject: Aragorn)