我是百里香的新手,很抱歉,这是一个假的问题。我想用百里香3创建一个“ hello world”。
我将不得不使用存储在数据库中的模板进行操作,而我只能将它们作为文本来获取。

我读过我需要使用StringTemplateResolver来实现这一点。

我举了一个例子,但是它没有替换我的变量$ {user},我也不知道我在哪里犯了错误。

// define TemplateEngine
TemplateEngine templateEngine = new TemplateEngine();
StringTemplateResolver templateResolver = new StringTemplateResolver();
templateEngine.setTemplateResolver(templateResolver);

String htmlTemplate = "<b>${user}</b>";
Context context = new Context();
context.setVariable("user", "Ray Donovan");

String res = templateEngine.process(htmlTemplate, context);
System.out.println(res); // it prints out: <b>${user}</b>


有人可以向我强调吗?

提前致谢。

最佳答案

在官方文件Thymeleaf #text-inlining中报告:


  [[...]]之间的表达式被视为内联的表达式
  Thymeleaf,在其中您可以使用任何会表达
  在th:text属性中也有效。


这么说,您必须使用双方括号符号。
代替<b>${user}</b>,您应该使用<b>[[${user}]]</b>

10-08 16:00