• Struts2 “#”符号:获取集合中的数据并进行选择操作

    选择是对集合中行的操作。所谓选择,就是通过一定的条件获取集合中满足这一条件的数据,所获取的行就是对集合中数据的选择操作。在操作时需要应用“#”将集合中的数据取出进行选择操作。

    语法:

    list.{?#conditional expression>value}

    如在一个集合中包含多个学生对象,获取这个集合中学生年龄大于 10 的所有学生,就是选择操作。

    示例

    本示例应用“#”过滤集合,选出价格超过 50 美元的图书并显示。

    创建 OgnlAction 文件,在文件中定义变量,并通过 add() 方法对变量进行赋值,关键代码如下:

    public class OgnlAction extends ActionSupport{  //定义List类型books变量
      private List<Book>books;
      public List<Book>getBooks(){
        return books;
      }
      public String execute(){  //初始化books对象
        books = new LinkedList<Book>();  //应用add()方法为List类型books变量赋值
        books.add(new Book("978-0735619678","编程宝典",50.99));
        books.add(new Book("978-0596007867","典型模块大全",35.96));
        books.add(new Book("978-0201633610","开发实战宝典",50.19));
        books.add(new Book("978-0596527341","范例大全",25.19));
        books.add(new Book("978-0735605350","技术开发大全",50.19));
        return SUCCESS;
      }
    }

    创建 JSP 文件,使用“#”对集合进行选择过滤,关键代码如下:

    <body>
      <h3>用于过滤集合</h3>
      <p>书的价格超过50美元的是</p>
      <ul>
        <s:iterator value="books.{?#this.price>50}">
          <li><s:property value="title"/>-$<s:property value="price"/></li>
        </s:iterator>
      </ul>
      <p>"范例大全"的价格是:<s:property value="books.{?#this.title=='范例大全'}.{price}
        [0]"/></p>
    </body>}

更多...

加载中...