7

我正在使用 Spring EL 从一组相当复杂的嵌套映射和列表中提取值。我希望能够使用类似的表达式

[9]['firstSubKey']['secondSubKey']

除了那[9]['firstSubKey']可能是空的。我不知道如何正确使用安全导航:我试过了

[9]['firstSubKey']?['secondSubKey']

[9]['firstSubKey']?.['secondSubKey']

并且都返回了某种解析错误。我最终通过使用它来工作

[9]['firstSubKey']?.get('secondSubKey')

但这感觉很俗气。有没有更好的方法或者这只是 SpringEL 没有的功能?我正在使用 Spring 3.1.3。

相关地,如果我有一个未知数量元素的列表/数组,有没有办法安全地检查它?IE 如果我有一个包含 4 个元素的数组,我想[5]返回 null。照原样,它抛出一个SpelEvaluationException.

4

1 回答 1

1

我想不出更好的解决方案来解决您的问题;只要

"['0']['a'] != null ? ['0']['a']['b'] : null"

"size() > 5 ? [5] : null"

于 2013-03-21T18:59:03.990 回答