如何从spring thymeleaf 3中的数据库加载HTML模板?

时间:2018-04-19 15:25:00

标签: spring spring-boot thymeleaf

如何在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

1 个答案:

答案 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界面及其实现,以防您的模板位于其他位置。