我正在使用Spring EL从一组相当复杂的嵌套映射和列表中提取值。我希望能够使用类似
[9]['firstSubKey']['secondSubKey']
除了
[9]['firstSubKey']
可能为null。我不知道如何正确使用安全导航:我尝试过[9]['firstSubKey']?['secondSubKey']
和
[9]['firstSubKey']?.['secondSubKey']
并且都返回了某种解析错误。我最终通过使用使它起作用
[9]['firstSubKey']?.get('secondSubKey')
但这感觉很俗气。有没有更好的方法,或者这只是SpringEL所没有的功能?我正在使用Spring 3.1.3。
相关地,如果我有一个未知数目的元素的列表/数组,有没有办法安全地检查它? IE,如果我有4个元素的数组,我想
[5]
返回null。照原样,它抛出SpelEvaluationException
。 最佳答案
我无法为您提供更好的解决方案;只要"['0']['a'] != null ? ['0']['a']['b'] : null"
和"size() > 5 ? [5] : null"
关于java - Spring EL : Safe navigation with map access,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15554065/