如何在春季启动 2.0.0.RELEASE 和 THYMELEAF3.0 中从数据库加载 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
如果您不能使用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());
如果您的数据库包含模板文件的路径或模板内容本身,这将起作用。但是,如果您确定数据库始终包含文件的路径,则可以自动连线由spring-boot
配置的标准TemplateEnging
。
此外,您可能还想查看ITemplateResolver
界面及其实现,以防您的模板位于其他地方。