有BooklList类如下,
private Map<String, Book> books;
public BookList() {
books = new HashMap<String, Book>();
books.put("001", new Book("001", "CORBA in C++", 92.5));
books.put("002", new Book("002", "Servlets", 72.3));
books.put("003", new Book("003", "EJB 2.0", 98.0));
books.put("004", new Book("004", "Core C++", 43.0));
books.put("005", new Book("005", "Unix C++", 88.5));
books.put("006", new Book("006", "Core Java", 58.0));
books.put("007", new Book("007", "JDBC", 48.0));
books.put("008", new Book("008", "JSP", 60.0));
books.put("009", new Book("009", "Thinking in java", 108.0));
}
public Map<String, Book> getBooks() {
return books;
}
public void setBooks(Map<String, Book> books) {
this.books = books;
}其中Book类中属性id,name,price,都有get set方法,现在我在页面中用了
<jsp:useBean id="books" scope="session" class="model.BookList"/>
请问各位高手,用<s:iterator value="#session.books.books" var="b">,<s:property value="#b.name"/>怎么才能迭代出9个Book的数据啊??
我上面那样写的不对请教一下怎么改才行呢?谢谢各位
private Map<String, Book> books;
public BookList() {
books = new HashMap<String, Book>();
books.put("001", new Book("001", "CORBA in C++", 92.5));
books.put("002", new Book("002", "Servlets", 72.3));
books.put("003", new Book("003", "EJB 2.0", 98.0));
books.put("004", new Book("004", "Core C++", 43.0));
books.put("005", new Book("005", "Unix C++", 88.5));
books.put("006", new Book("006", "Core Java", 58.0));
books.put("007", new Book("007", "JDBC", 48.0));
books.put("008", new Book("008", "JSP", 60.0));
books.put("009", new Book("009", "Thinking in java", 108.0));
}
public Map<String, Book> getBooks() {
return books;
}
public void setBooks(Map<String, Book> books) {
this.books = books;
}其中Book类中属性id,name,price,都有get set方法,现在我在页面中用了
<jsp:useBean id="books" scope="session" class="model.BookList"/>
请问各位高手,用<s:iterator value="#session.books.books" var="b">,<s:property value="#b.name"/>怎么才能迭代出9个Book的数据啊??
我上面那样写的不对请教一下怎么改才行呢?谢谢各位
<s:if test="#start.index<9">这样就是只显示9条数据。你也可以直接在后台值查只询出9条。
<tr>
<s:property value="#b.name"/>
</tr>
</s:iterator>
<tr><td colspan="2">在session中通过Key遍历map中的value(value值是Book类型的对象)</td></tr>
<tr><td>ID</td><td>name</td></tr>
<s:iterator value="#session.books.keySet()" id="bookId">
<tr>
<td><s:property value="#session.books.get(#bookId).id"/></td>
<td><s:property value="#session.books.get(#bookId).name"/></td>
</tr>
</s:iterator>
</table>
ActionContext ctx = ActionContext.getContext();
books = new HashMap<String, Book>();
books.put("001", new Book("001", "CORBA in C++", 92.5));
books.put("002", new Book("002", "Servlets", 72.3));
books.put("003", new Book("003", "EJB 2.0", 98.0));
books.put("004", new Book("004", "Core C++", 43.0));
books.put("005", new Book("005", "Unix C++", 88.5));
books.put("006", new Book("006", "Core Java", 58.0));
books.put("007", new Book("007", "JDBC", 48.0));
books.put("008", new Book("008", "JSP", 60.0));
books.put("009", new Book("009", "Thinking in java", 108.0));
ctx.getSession().put("books", books);
<s:iterator value="#sessionScope.books.books" status="b">
<tr>
<td>${b.id}<td>
<td>${b.name}<td>
<td>${b.price}<td>
</tr>
</s:iterator>
<jsp:useBean id="books" scope="session" class="model.BookList"/>
<table>
<s:iterator value="#session.books.books" id="column">
<tr>
<td><s:property value="value.id"/></td>
<td><s:property value="value.name"/></td>
<td><s:property value="value.price"/></td>
</tr>
</s:iterator>
</table>
遍历map的value值,直接写value.就行