OGNL表达式的投影功能

除了 in not in 之外, OGNL 还允许使用某个规则获得集合对象的子集,常用的有以下 3 个相关操作符。
? :获得所有符合逻辑的元素。
^ :获得符合逻辑的第一个元素。
$ :获得符合逻辑的最后一个元素。
例如代码:
<s:iterator value="books.{?#this.price > 35}">
      <s:property value="title" /> - $<s:property value="price" /><br>
</s:iterator>
在上面代码中,直接在集合后紧跟 .{} 运算符表明用于取出该集合的子集, {} 内的表达式用于获取符合条件的元 素, this 指的是为了从大集合 books 筛选数据到小集合 需要对大集合 books 进行迭代, this 代表当前迭代的元素。 本例的表达式用于获取集合中价格大于 35 的书集合。
public class BookAction extends ActionSupport {
private List<Book> books;
....
@Override
    public String execute() {
        books = new LinkedList<Book>();
        books.add(new Book("A735619678", "spring", 67));
books.add(new Book("B435555322", "ejb3.0",15));
}
}

猜你喜欢

转载自free0007.iteye.com/blog/1757261