s:iterator 标签 一般都是用来抓取List中的内容,而List中一般都是存放的一些dto,下面是一个简单的实例,
class Group: String id; String name; List users;
class User: String id; String name;
实例一:
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]