是否可以使用 spring 表达式语言来提取集合并同时修改集合中每个对象的属性?在我的示例中,我有一个名称太长的用户列表,我想在名称显示在页面之前限制名称的长度(因此不要更新原始列表)。此代码用于通过 ajax 请求的控制器中,并且用户列表作为 json 数组返回。
ExpressionParser parser = new SpelExpressionParser();
EvaluationContext context = new StandardEvaluationContext(rankedUsers);
List<User> longNamedUsers = (List<User>) parser.parseExpression("?[name.length() > 20]").getValue(context);
EvaluationContext newContext = new StandardEvaluationContext(longNamedUsers);
// the below does not work but throws an exception
//parser.parseExpression("?[name]").setValue(newContext, "test");