有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的数据啊??
我上面那样写的不对请教一下怎么改才行呢?谢谢各位

解决方案 »

  1.   

    <s:iterator var="news" value="lists" status="start">
    <s:if test="#start.index<9">这样就是只显示9条数据。你也可以直接在后台值查只询出9条。
      

  2.   

    我是要在表格中每行动态显示一个Book数据,你这样数量都写死了不行啊。
      

  3.   

    <s:iterator var="news" value="lists" status="start">
         <tr>
               <s:property value="#b.name"/>
         </tr>
    </s:iterator>
      

  4.   

       <table border="1">
        <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>
      

  5.   


                                    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);
      

  6.   


    <s:iterator value="#sessionScope.books.books" status="b">
    <tr>
        <td>${b.id}<td>
        <td>${b.name}<td>
        <td>${b.price}<td>
    </tr>
    </s:iterator>
      

  7.   


    <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>
      

  8.   

    +1
    遍历map的value值,直接写value.就行