我是百里香的新手,很抱歉,这是一个假的问题。我想用百里香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>
。