对于最新稳定版本,请使用Spring Framework 7.0.1spring-doc.cadn.net.cn

馆藏选择

选择是一种强大的表达式语言功能,可以让你将 通过从其条目中选择,将收藏导入另一个收藏。spring-doc.cadn.net.cn

选择使用语法.?[选择表达].它会过滤集合和 返回一个包含原始元素子集的新集合。例如 选择让我们能够轻松获得塞尔维亚发明家名单,如下示例所示:spring-doc.cadn.net.cn

List<Inventor> list = (List<Inventor>) parser.parseExpression(
		"members.?[nationality == 'Serbian']").getValue(societyContext);
val list = parser.parseExpression(
		"members.?[nationality == 'Serbian']").getValue(societyContext) as List<Inventor>

选择功能支持数组及任何实现java.lang.Iterablejava.util.Map.对于数组或可迭代,选择表达式被评估 对抗每个单独的元素。在映射中,选择表达式被评估 对每个映射元素(Java 类型的对象)进行对抗地图。条目).每个地图条目都有其钥匙作为属性访问,供选择中使用。spring-doc.cadn.net.cn

给定地图存储在一个名为#map,以下表达式返回新的 映射由原始映射中那些元素组成,且该元素的值较低 比27:spring-doc.cadn.net.cn

Map newMap = parser.parseExpression("#map.?[value < 27]").getValue(Map.class);
val newMap = parser.parseExpression("#map.?[value < 27]").getValue() as Map

除了返回所有选中的元素外,你只能检索第一个或 最后一个元素。要得到与选择表达式匹配的第一个元素,则 语法为.^[selectionExpression].以获得与该选题匹配的最后一个元素 表达式,语法为.$[选择表达].spring-doc.cadn.net.cn

Spring 表达语言还支持安全导航以选择集合。spring-doc.cadn.net.cn