如何在spring boot 2.0.0.RELEASE和THYMELEAF3.0中从DB加载我的HTML模板的字符串内容。
Context context = new Context();
context.setVariable("comments", comments);
templateEngine.process("singup-request-user-template", context);//HERE I NEED TO PASS THE DB LOADING CONTENT
答案 0 :(得分:0)
如果您不能使用ThymeleafDatabaseResourceResolver
,则另一个选项是在Java代码中手动获取模板,然后处理它:
String databaseTemplate = ...fetch template from db...
Context context = new Context(Locale.ENGLISH);
...set variables for context....
String processedTemplate = templateEngine.process(databaseTemplate, context);
您还应手动创建模板引擎:
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(new SpringResourceTemplateResolver());
templateEngine.addTemplateResolver(new StringTemplateResolver());
templateEngine.addTemplateResolver(new FileTemplateResolver());
如果您的数据库包含模板文件的路径或模板内容本身,这将有效。
但是,如果您确定数据库始终包含文件路径,则可以自动装配由TemplateEnging
配置的标准spring-boot
。
另外,您可能需要查看ITemplateResolver
界面及其实现,以防您的模板位于其他位置。