最近自己在研究SSH的整合使用,由于进入公司后一直使用的都是EJB,所以SSH基本上用不到,然而SSH又是主流的一个框架模式,所以花了几天的时间把SSH整合案例做了出来,今天就来的写一下 Struts2 中 s:iterator 标签的使用。
s:iterator 标签 一般都是用来抓取List中的内容,而List中一般都是存放的一些dto,下面是一个简单的实例,
dto: package com.bsn.po;
import java.util.List;
public class Group {
private String id;
private String name;
private List users;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List getUsers() {
return users;
}
public void setUsers(List users) {
this.users = users;
}
}
public class User{
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
实例一:servlet 1 中相关代码:
List list = new ArrayList();
Group g = new Group();
g.setId("g1");
g.setName("gn1");
list.add(g);
g = new Group();
g.setId("g2");
g.setName("gn2");
list.add(g);
request.getSession ().setAttribute("GROUPLIST ",list); //这里是放在Session中 也可以直接放request中
JSP 代码:
<%@ taglib prefix="s" uri="/struts-tags"%>
......
<table>
<tr width="400">
<td height="25">
ID
</td>
<td>
NAME
</td>
</tr>
<s:iterator value="#session .GROUPLIST " status="stuts"> // session 和上面的session对应
<tr>
<td>
<s:property value="id" />
</td>
<td>
<s:property value="name" />
</td>
</tr>
</s:iterator>
</table>
最后显示:
ID NAME
g1 gn1
g2 gn2
实例1 效果就是将Session中的GROUPLIST中的所有的数据放入TABLE中,注意:此时Group中 只存放了id 和 name, 没有存放list, 如果我把list中存放若干个User实例呢,怎么在iterator中再去iterator呢? 很简单,看实例2.
实例二: servlet 代码:
List list = new ArrayList();
Group g = new Group();
g.setId("g1");
g.setName("gn1");
List l = new ArrayList();
User u = new User();
u.setId("u1");
u.setName("un1");
l.add(u);
u = new User();
u.setId("u2");
u.setName("un2");
l.add(u);
g.setUsers(l);
list.add(g);
g = new Group();
g.setId("g2");
g.setName("gn2");
l = new ArrayList();
u = new User();
u.setId("u3");
u.setName("un3");
l.add(u);
u = new User();
u.setId("u4");
u.setName("un4");
l.add(u);
g.setUsers(l);
list.add(g);
request.getSession ().setAttribute("GROUPLIST ",list); //这里是放在Session中 也可以直接放request中
JSP 代码:
<%@ taglib prefix="s" uri="/struts-tags"%>
......
<table>
<tr width="400">
<td height="25">
ID
</td>
<td>
NAME
</td>
<td>
USERS
</td>
</tr>
<s:iterator value="#session .GROUPLIST " status="stuts"> // session 和上面的session对应
<tr>
<td height="25">
<s:property value="id " />//id是Group的一个类变量
</td>
<td height="25">
<s:property value="name " />//name是Group的一个类变量
</td>
<td>
<table>
<s:iterator value="users "> //users 是Group的一个类变量
<tr>
<td>
[ <s:property value="id " /> ] [ <s:property value="name " />]// id name是User的类变量
</td>
</s:iterator>
</table>
</td>
</tr>
</s:iterator>
</table>
最后显示:
ID NAME USERS
g1 gn1 [u1] [un1]
[u2] [un2]
g2 gn2 [u3] [un3]
[u4] [un4]
OK, 就到这里,基本上很简单,可是我在网上找了好久都没找到 iterator 中 还要 iterator 的代码。