论坛首页 Java企业应用论坛

Struts 2.0 Iterator标签

浏览 5654 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-05-06  

Struts 2.0 Iterator标签

简介

 

Iterator标签可以用来遍历集合对象。要求集合的类型必须是java.util.Collection或者是java.util.iterator

 

下面是一个非常简单的例子:

 

<s:iterator id=”userobj” value=”userlist” status=”user_stat”>

User name : <s:property value=”name”/>

</s:iterator>

  

 

 

内部迭代器,最上面的值应该是在循环中当前object对象。当取“name”时,其实是“current——list——object.name

 

当前对象将值付给“id”字段,userobj.name映射“name”。

 

实例

 

下面我将写一个简单的iterator实例。实例中,将action中放入的对象集合用iterator标签的形式展现到iteratordemo.jsp页面中。

 

IterateDemo.java

 

package tags.iterate.action;   

  

import java.util.ArrayList;   

import java.util.List;   

  

import tags.dto.Customer;   

  

import com.opensymphony.xwork2.ActionSupport;   

  

public class IterateDemo extends ActionSupport{   

       

    List<Customer> customers;   

    public String execute()  {   

           

        customers = new ArrayList<Customer>();   

           

        Customer c = new Customer();   

        c.setName("George Joseph");   

        c.setAge(45);   

        c.setEmail("george@struts2.org");   

           

        customers.add(c);   

           

        c = new Customer();   

        c.setName("Mary Philip");   

        c.setAge(22);   

        c.setEmail("mary@struts2.org");    

        customers.add(c);   

           

           

        return SUCCESS;   

    }   

    public List<Customer> getCustomers() {   

        return customers;   

    }   

    public void setCustomers(List<Customer> customers) {   

        this.customers = customers;   

    }   

  

}   

  

 

 

Customer.java

 

package tags.dto;   

  

public class Customer {   

  

    private String name;   

    private int age;   

    private String email;   

    public String getName() {   

        return name;   

    }   

    public void setName(String name) {   

        this.name = name;   

    }   

    public int getAge() {   

        return age;   

    }   

    public void setAge(int age) {   

        this.age = age;   

    }   

    public String getEmail() {   

        return email;   

    }   

    public void setEmail(String email) {   

        this.email = email;   

    }   

}   

  

 

 

iteratedemo.jsp

 

<%@ taglib prefix="s" uri="/struts-tags"%>  

<html>  

<head>  

  

</head>  

<style>  

.cust {border:0px solid blue;border-collapse:collapse;}   

.cust th{ background-color:#ddd;color:#666;text-align:left;border:1px solid white;padding:5px;}   

.cust td{padding:5px;}   

.cust tr.odd {background-color:#fafbff;}   

.cust tr.even {background-color:#f4f4ff;}   

</style>  

<body>  

  

<table class="cust">  

    <tr>  

        <th>Name</th>  

        <th>Age</th>  

        <th>Email</th>  

    </tr>  

    <s:iterator value="customers" id="customer" status="cust_stat">  

        <tr class="<s:if test="#cust_stat.odd == true">odd</s:if><s:else>even</s:else>">  

            <td><s:property value="name" /></td>  

            <td><s:property value="age" /></td>  

            <td><s:property value="email" /></td>  

        </tr>  

    </s:iterator>  

</table>  

  

</body>  

</html>  

  

 

 

Struts.xml

 

<?xml version="1.0" encoding="UTF-8" ?>  

<!DOCTYPE struts PUBLIC   

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"   

    "http://struts.apache.org/dtds/struts-2.0.dtd">    

<struts>  

    <package name="tags" extends="struts-default">  

        <action name="IterateDemo"  

            class="tags.iterate.action.IterateDemo">  

            <result>/tags/iteratedemo.jsp</result>  

        </action>  

    </package>     

</struts>  

  

 

 

输出结果:

 

  • 大小: 7.7 KB
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics