【发布时间】:2012-03-30 19:19:12
【问题描述】:
是否可以使用 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");
【问题讨论】:
-
您能发布更多信息吗?您是否试图截断名称以进行显示?您使用的是 JSP 还是 JSF?此代码是否出现在控制器或服务中?
标签: java spring collections spring-el