試過了很多種方法都沒有成功,終於讓我找到了這種方法!
首先在後臺寫代碼:
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>