如何从春季百里香叶 3 的数据库中加载 HTML 模板



如何在春季启动 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界面及其实现,以防您的模板位于其他地方。

最新更新