提问人:Eve__BC 提问时间:11/14/2023 更新时间:11/14/2023 访问量:26
使用单个 JSON 对象填充 Thymeleaf 模板
Filling Thymeleaf template with a single JSON object
问:
我正在寻找 Freemarker 的更好替代品,目前正在尝试使用 Thymeleaf。 我正在使用 JAVA,主要想渲染模板并在以后将它们转换为 PDF(FTL ->HTML -> PDF)。
我在互联网上找到了这段代码:
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setTemplateMode(TemplateMode.HTML);
resolver.setCharacterEncoding("UTF-8");
resolver.setPrefix("/templates/");
resolver.setSuffix(".html");
Context context = new Context();
context.setVariable("name", "Bunny");
context.setVariable("date", LocalDate.now().toString());
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);
String result = templateEngine.process("index", context);
System.out.println(result);
问题是我在一个JSON对象中拥有数据。有没有办法将它们作为一个JSON对象传递给框架来处理它们,而不是从json对象中逐个读取它们并将它们填充到Context对象中?
我用Freemarker就是这样做的:
JsonObject data = new JsonObject().put("name", "Bunny").put("dob", "01.01.1980");
engine.render(data, template, renderResult -> {
if (renderResult.succeeded()) {
htmlToPdf(renderResult.result().toString(), baseDirectory, pdfResult -> {
if (pdfResult.succeeded()) {
System.out.println("succeeded");
});
}
else {
System.out.println("failed");
}
});
对于我的用例,有没有比 Freemarker 或 Thymeleaf 更好的选择?
我在互联网上搜索了一下,发现大多数时候 Thymeleaf 都与 Spring boot 一起使用。我想在我自己的项目中没有任何框架的情况下使用它。
答: 暂无答案
评论