【发布时间】:2019-12-29 19:43:03
【问题描述】:
在 Freemarker 中使用 时,如果我只是引用变量,但在使用 ?eval 时,我得到一个空值或缺失错误。
这行得通,newOwnerName 获取输入值
<#assign newOwnerName = jsonEventData.newOwnerName>
但这不起作用并导致异常:
<#assign newOwnerName = jsonEventData.newOwnerName?eval>
例外:
The following has evaluated to null or missing: jsonEventData.newOwnerName?eval
我尝试使用 ?eval 的原因是因为输出包含引号:新所有者名称是“Peter”。但我希望它不带引号:新所有者名称是 Peter
ftl 模板类似于:
<#assign newOwnerName = jsonEventData.newOwnerName>
The new owner name is ${newOwnerName}
我希望 ?eval 不应该导致 null 或丢失错误,因为值是在输入中发送的
【问题讨论】:
-
我在online parser 中使用
jsonEventData_newOwnerName = "\"Peter\""尝试了您的代码(将dot 替换为underscore 以进行平面存储)并输出The new owner name is Peter.?eval正确删除引号。再次检查jsonEventData.newOwnerName的内容 - 缺少某些内容。 -
工作数据:newOwnerName = "Peter"。模板: 新所有者名称为 ${newOwnerName} 无效数据:newOwnerName = "Peter" 模板: 新所有者名称为 ${newOwnerName} @youka
标签: java freemarker