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]