利用hibernate的session查询数据库,而且在jsp页面显示表内容的方法

时间:2023-07-08 23:24:37

试过了非常多种方法都没有成功,最终让我找到了这样的方法!

首先在后台写代码:

Transaction tx = session.beginTransaction();

List list = session.createSQLQuery("select * from jike").list();

tx.commit();

List list1 = new ArrayList();

Iterator it = list.iterator();

while(it.hasNext()){

Jike user = new Jike();//这句必须放在里面,否则数据一样

Object[] objs = (Object[])it.next();

user.setXuehao(objs[0].toString());

user.setName(objs[1].toString());

list1.add(user);

}

1.HttpServletRequest request = ServletActionContext.getRequest();

2.request.setAttribute("list",list1);

return "success";

也能够不用写1和2这两句,能够採用struts2默认的拦截器,可是Java里面必须有set()和get()这两个方法。

然后在前台写jsp接收数据的代码:

<table border="1">

          <s: iterator value ="#request.list">

                     <tr>

                         <td>

                               <s:property value="xuehao"/>

                        </td>

                      </tr>

           </s:iterator>

</table>

上面是使用struts2的标签,也能够使用EL表达式:

<td>${name}</td>

或者还能够:

<s:iterator>里面加id,比如:

<s:iterator value="#request.list" id="id">

<td><s:property value="#id.name"/></td>