freemarker - freemarker表达式是否可以包含空格

标签 freemarker

我们有一个场景,比如 Freemarker 表达式的输入数据在变量 ${employee name?} 中包含空格,并且出现以下错误

“线程“主”freemarker.core.ParseException 中的异常:在第 1 行,EMAILTEMPLATES 中的第 12 列遇到“名称””,同时应用表达式。

Freemarker 是否支持自由标记变量中的空格?

    Map<Object,Object> out= new HashMap<>();
    out.put("employee name", "XXX");
    String templateStr="<p> ${employee name?} </p>";

    StringWriter out = new StringWriter();
    Template emailTemplate = new Template(EMAILTEMPLATES, new 
    StringReader(templateStr),templateConfiguartion);

    emailTemplate.process(dataMap, out);

最佳答案

您可以使用 vars对于特殊变量:

${.vars["employee name"]}

vars: Expression .vars.foo returns the same variable as expression foo. It's useful if for some reasons you have to use square bracket syntax, since that works only for hash sub variables, so you need an artificial parent hash. For example, to read a top-level variable that has a strange name that would confuse FreeMarker, you can write .vars["A strange name!"].

关于freemarker - freemarker表达式是否可以包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54230381/

相关文章:

spring-mvc - 对象集合的表单的 Freemarker 语法(Spring 3 MVC)

json - 如何将 JSON 导入 Freemarker 模板 (FTL)

java - Freemarker 模板刷新后缓存共享变量

java - Freemarker 中的继承/实例检查

freemarker - Oracle Responsys - RPL 从补充表中提取数据(也像 FreeMarker)

grails - 有没有办法做 gsp partials 而不是标签库?

freemarker - Freemarker 模板中的 Keycloak 访问 cookie 和/或 url 查询参数

java - FreeMarker修改现有文件

java - 如何在 Apache Tiles 中注册属性渲染器?

java - Struts2 + Sitemesh + Freemarker 不起作用