struts2 +hibernate遍历list
Book类:publicclassBookimplementsjava.io.Serializable{//FieldsprivateintbookId;privateS...
Book类:
public class Book implements java.io.Serializable {
// Fields
private int bookId;
private Student student;
private String bookName;
private String publisher;
private double price;
private String isbn;
private Date ltime;
省略了构造方法和get和set方法,
页面上这样写可以取得到值:
<s:iterator value="bookList" var="book">
<tr>
<td><s:property value="#book[0]"/></td>
<td><s:property value="#book[5]"/></td>
<td><s:property value="#book[2]"/></td>
<td><s:property value="#book[3]"/></td>
<td><s:property value="#book[4]"/></td>
<td><s:date name="#book[6]" format="yyyy-mm-dd"/></td>
</tr>
</s:iterator>
为什么这样写取不到值,用属性值:
<s:iterator value="bookList" var="book">
<tr>
<td><s:property value="#book.id"/></td>
<td><s:property value="#book.name"/></td>
<td><s:property value="#book.price"/></td>
<td><s:property value="#book.publisher"/></td>
<td><s:property value="#book.isbn"/></td>
<td><s:date name="#book.date" format="yyyy-mm-dd"/></td>
</tr>
</s:iterator>
另外上面那种是什么意思,解答下 O(∩_∩)O谢谢
。。 展开
public class Book implements java.io.Serializable {
// Fields
private int bookId;
private Student student;
private String bookName;
private String publisher;
private double price;
private String isbn;
private Date ltime;
省略了构造方法和get和set方法,
页面上这样写可以取得到值:
<s:iterator value="bookList" var="book">
<tr>
<td><s:property value="#book[0]"/></td>
<td><s:property value="#book[5]"/></td>
<td><s:property value="#book[2]"/></td>
<td><s:property value="#book[3]"/></td>
<td><s:property value="#book[4]"/></td>
<td><s:date name="#book[6]" format="yyyy-mm-dd"/></td>
</tr>
</s:iterator>
为什么这样写取不到值,用属性值:
<s:iterator value="bookList" var="book">
<tr>
<td><s:property value="#book.id"/></td>
<td><s:property value="#book.name"/></td>
<td><s:property value="#book.price"/></td>
<td><s:property value="#book.publisher"/></td>
<td><s:property value="#book.isbn"/></td>
<td><s:date name="#book.date" format="yyyy-mm-dd"/></td>
</tr>
</s:iterator>
另外上面那种是什么意思,解答下 O(∩_∩)O谢谢
。。 展开
3个回答
展开全部
因为s:property 的value里面使用的是OGNL表达式,而OGNL表达式是根据实体类的GET方法去取值,用SET方法从页面传值,所以在没有写SET GET方法的情况下,用第2种方法是取不出值的,而第一中方法是按Value Stack里面的对象的位置取值,没有GET方法也可以取
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-20
展开全部
因为你上面的取值就好像把值数组中,只能通过下标去一下而已。
其实还有一种更简单的方法:
<s:iterator value="bookList">
<tr>
<td><s:property value="id"/></td>
<td><s:property value="name"/></td>
<td><s:property value="price"/></td>
<td><s:property value="publisher"/></td>
<td><s:property value="isbn"/></td>
<td><s:date name="date" format="yyyy-mm-dd"/></td>
</tr>
这样能取到值,不信你试一试看。但是前提是bookList必须要放在值栈里才行(也就是封装)
其实还有一种更简单的方法:
<s:iterator value="bookList">
<tr>
<td><s:property value="id"/></td>
<td><s:property value="name"/></td>
<td><s:property value="price"/></td>
<td><s:property value="publisher"/></td>
<td><s:property value="isbn"/></td>
<td><s:date name="date" format="yyyy-mm-dd"/></td>
</tr>
这样能取到值,不信你试一试看。但是前提是bookList必须要放在值栈里才行(也就是封装)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下面哪种你要取到值的话可以在action里private Book对象,不要声明book的成员变量
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询