我想使用SPeL,并且需要从配置源评估参数。问题在于名称/键是动态的。所以我依靠一个参数来解决另一个。我基本上需要检查一个布尔参数。
示例:部分键/前缀:app.name全键:$ {app.name} .feature.isEnabled
因此,在SPeL中,我尝试如下操作:
#{'${app.name}.feature.isEnabled' != null && !'${app.name}.feature.isEnabled'}
Run Code Online (Sandbox Code Playgroud)
但这可以编译但不起作用。
如果app.name = my-app,则上面的内容解析为字符串文字:my-app.feature.isEnabled
文字本身本身就可以,但是我实际上需要此键的值。
如果我尝试用另一个表达式包装,它将无法编译:
#{${'${app.name}.feature.isEnabled'} != null && !${'${app.name}.feature.isEnabled'}}
Run Code Online (Sandbox Code Playgroud)
我尝试了上述方法的不同变体,但无法采用正确的公式。
这可能吗?
可能更简单一些,但这可以工作...
"#{'${${app.name}.feature.isEnabled}' != null ? '${${app.name}.feature.isEnabled}'.toLowerCase().equals('true') : 'false'}"
Run Code Online (Sandbox Code Playgroud)
但是,ignore-unresolvable="true"如果未设置属性,则需要在属性占位符配置器上。
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |