1、需求:把 BookAction 对象中“价格 >35” 的书展示出来。
2、因为要访问对象,所以要配置 struts.xml,而不能直接从页面中通过 <s> 标签获取数据:
<package name="ognl" namespace="/ognl" extends="struts-default">
<action name="a2" class="cn.itcast.demo11_ognl.BookAction" method="execute">
<result name="success">/a1.jsp</result>
</action>
</package>
3、编写Book.java 和 BookAction.java
Book.java:
public class Book {
private String name;
private float price;
public Book() {
// TODO Auto-generated constructor stub
}
public Book(String name, float price) {
super();
this.name = name;
this.price = price;
}
}
BookAction.java:
public class BookAction extends ActionSupport implements Serializable {
private List<Book> books;
public List<Book> getBooks() {
return books;
}
public void setBooks(List<Book> books) {
this.books = books;
}
public String execute(){
books = new ArrayList<Book>();
books.add(new Book("刘",35f));
books.add(new Book("关",15f));
books.add(new Book("张",65f));
return SUCCESS;
}
}
4、在jsp页面中,通过<s>标签展示数据,注意<iterator> 中的是 books,而<property> 中的是book
<s:iterator value="books.{?#this.price>15}" var="book">
<s:property value="#book.name"/>——<s:property value="#book.price"/><br/>
</s:iterator>