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 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);
}
}
Получаю такой ответ: "Здравствуйте, ${greetings}!\n\nВот ваш отчет: ${subject}. \n\nС уважением,\n${team}\n\n(Тема письма: ${name})"
Я знаю, что шаблон не является файлом .txt, но, насколько я понимаю, должно быть возможно сделать это из String, и в этом случае необходимо использовать TemplateMode.TEXT, хотя ни один из них не размещает значения.
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 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); } } [/code] Получаю такой ответ: [b]"Здравствуйте, ${greetings}!\n\nВот ваш отчет: ${subject}. \n\nС уважением,\n${team}\n\n(Тема письма: ${name})"[/b] Я знаю, что шаблон не является файлом .txt, но, насколько я понимаю, должно быть возможно сделать это из String, и в этом случае необходимо использовать TemplateMode.TEXT, хотя ни один из них не размещает значения.