struts2的 action如下:package com.jin.action;import java.util.ArrayList;
import java.util.List;import com.jin.pojo.Book;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;public class LoginAction implements Action
{
private List<Book> books;

public List<Book> getBooks()
{
return books;
} public void setBooks(List<Book> books)
{
this.books = books;
} public String execute() throws Exception
{
List<Book> list = new ArrayList();
Book bk1 = new Book();
bk1.setName("Linux实战指南");
bk1.setPrice(52.5);
Book bk2 = new Book();
bk2.setName("JSP/Servlet实战");
bk2.setPrice(60.0);
Book bk3 = new Book();
bk3.setName("Spring3.0全面解析");
bk3.setPrice(44.5);
list.add(bk1);
list.add(bk2);
list.add(bk3);

this.setBooks(list);

return Action.SUCCESS;

}}books.javapackage com.jin.pojo;import java.io.Serializable;public class Book implements Serializable
{
private static final long serialVersionUID = -7637363221122361901L;
private String name;
private double price;


public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public double getPrice()
{
return price;
}
public void setPrice(double price)
{
this.price = price;
}
}请问分别使用struts标签和jstl标签在结果页遍历这个action的属性books 应该怎么写?

解决方案 »

  1.   

    <tr>
    <td>名字</td><td>价格</td>
    </tr>
    <c:foreach items="<%=books%>" var="book">
    <tr>
    <td>${book.name}</td><td>${book.price}</td>
    </tr>
    </c:foreach>
      

  2.   

    struts2不是提供了数据遍历的标签吗?iterator。。
      

  3.   

    <tr>
    <td>名字</td><td>价格</td>
    </tr>
    <logic:iterate id="book" name="books">
    <tr>
    <td>${book.name}</td><td>${book.price}</td>
    </tr>
    </logic:iterate>
      

  4.   

    <tr>
    <td>名字</td><td>价格</td>
    </tr>
    <s:iterator value="#request.books">
    <tr>
    <td><s:property value="name"></td><td><s:property value="price"></td>
    </tr>
    </s:iterator>
      

  5.   

    <c:forEach items="${books}" var="book" varStatus="status"><td>
    ${book.id }
    </td>
    <td>
    ${book.name }
    </td>
    <td>
    ${book.price }
    </td>
    </tr></c:forEach>
      

  6.   

    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>而且我怀疑你没有导包
      

  7.   


    在action中,把你的books存在request范围。
      

  8.   

    这个肯定不行,
    <c:foreach items="<%=books%>" var="book"> 你看这个books哪来的?
    用<c:forEach items="${books}" var="book" varStatus="status">
    4个范围都要找
      

  9.   

    struts2: iterator标签
    jstl: c:foreach 标签