试过了非常多种方法都没有成功,最终让我找到了这样的方法!
首先在后台写代码:
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>