【发布时间】:2017-09-06 06:25:34
【问题描述】:
我正在尝试将表达式语言存储在 YAML 文件中
"name": "${foo.data:toLower().equals('hello')}"
我尝试将'\' 放在'$' 和{} 前面,但它不起作用。
我只想将"name" 键设置为上面的表达式语言。
失败的尝试导致name 键获取"toLower().equals('hello')" 的属性
【问题讨论】:
-
我发现只是转义左大括号似乎会阻止表达式被解析,即:
name: $\{test:foo}(没有您使用的双引号)解析为文字字符串“ $\{test:foo}”。但是反斜杠仍然存在,所以你必须在以后使用它时从你的 String 中删除它,我想这真的没有帮助吗?如果您知道您的name属性将包含 SpEL,您能否将其设为:name: foo.data:toLower().equals('hello'),然后将其包装在代码中的${...}中? -
@DaveyDaveDave 感谢您的帮助。我只是把 ${...} 放在后面的代码中。
标签: spring-boot yaml