请教大牛们一个问题

aloveu 2012-03-12 02:40:41
今天心血来潮,试了下从数据库中取数,然后现实在jsp页面上 写了一个方法如下:

public static Books getBook() throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException{



Books book = new Books();

ConnectionDb db = new ConnectionDb();

Connection ct = db.getcnt();

Statement st = ct.createStatement();

ResultSet rs = st.executeQuery("select * from books");

while(rs.next()){
book.setId(rs.getInt(1));
book.setBookName(rs.getString(2));
book.setPrice(rs.getFloat(3));
book.setPublish(rs.getString(4));
book.setPublishman(rs.getString(5));
book.setAuthorName(rs.getString(6));


}
return book;
}

然后通过servlet session 把book对象传到页面上,取数的时候 只把数据库表中最后一行数据给取出来了, 我知道是做while循环的时候后面的把前面的覆盖了,怎么才能不覆盖呢?

当然可以用下面方式

List list = null;

Session session = HibernateSessionFactory.getSession();

Transaction tx = session.beginTransaction();

Query query = session.createQuery("form Books b");

list = query.list();

return list;

然后再在JSP页面上通过structs标签的logic属性和bean属性去取,但我想通过<%=xx.getxx()%>方法取,所以有了上面的问题

麻烦哪个大虾指点下 刚接触web方面得知识 谢谢~~~~
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
a395885670 2012-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 h4nn1 的回复:]

List books = new ArrayList();
while(rs.next())
{
Books book = new Books();
book.setXXXX()
...
...
books.add(book);
}
[/Quote]

JSP代码:
<c:forEach var="book" items="${requestScope.books}">
${book.TKS}
</c:forEach>
aloveu 2012-03-12
  • 打赏
  • 举报
回复
上面返回的也是一个ArrayList 那在页面中怎么才能取到 book里面的属性呢? 通过books.get()取到的是个
books的对象啊,能否说仔细点? 我想取到books里面的属性 TKS~~~~·
h4nn1 2012-03-12
  • 打赏
  • 举报
回复
List books = new ArrayList();
while(rs.next())
{
Books book = new Books();
book.setXXXX()
...
...
books.add(book);
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧