struts2标签与Jstl标签遍历集合的用法

(一)struts2标签遍历集合

 

1、struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等以下几个简单的demo:
s:iterator 标签有3个属性:
    value:被迭代的集合
    id   :指定集合里面的元素的id
    status:迭代元素的索引

        var: 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型

2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法

1:#status.odd 当前元素索引是否奇数行

2:#status.even 当前元素索引是否偶数

3:#status.count 当前迭代了几个元素
4:#status.index当前元素索引,从0开始『#status.count=#status.index+1』

5:#status.first 当前是否第一个元素
6:#status.last 当前是否最后一个元素
7:#status.modules(int)当前行数取模  

 

3、<s:iterator id="元素id" value="后台List变量名">

 

<s:property value="#变量名.属性名"/>

区别1:List的遍历需要iterator迭代器如,且不需要value属性直接用获取列表元素;
  区别2:UserEntity刚相反,不需要iterator迭代器,但需要value属性来获取列表元素。

 

遍历map:Map map = new HashMap();

List list = new ArrayList();
 



|
|
">修改|
">删除


 

  1. 在类中定义的集合类型如下:  
  2. private String [] arryStr;  
  3.       
  4. private List list;  
  5.       
  6. private Map map;  
  7.       
  8. private Map userMap;  
  9.       
  10. private Map arrayMap;  
  11.       
  12. private Map> userListMap;  
  13. private List olist;  

 

 

 

 

  1. <body>  
  2.     <center>  
  3.     <br/>======iterator遍历String 字符数组======<br/>  
  4.         <s:iterator value="arryStr" id="array">  
  5.            <s:property value="array"/><br/>  
  6.         s:iterator>  
  7.     <div>div>  
  8.     <br/>======iterator遍历List集合======<br/>  
  9.     <table border="1" width="50%" cellpadding="0" cellspacing="0">  
  10.         <tr style="background-color: yellow">  
  11.             <td>idtd>  
  12.             <td>nametd>  
  13.             <td>pwdtd>  
  14.             <td>agetd>  
  15.         tr>  
  16.         <s:iterator value="list" id="array">  
  17.             <tr>  
  18.             <td><s:property value="id"/>td>  
  19.         <td><s:property value="name"/>td>  
  20.         <td><s:property value="pwd"/>td>  
  21.         <td><s:property value="age"/>td>  
  22.         tr>  
  23.         s:iterator>  
  24.     table>  
  25.   
  26.     <br/>======iterator遍历Map中的String字符串======<br/>  
  27.     <s:iterator value="map" id="column">  
  28.     <s:property value="#column"/><br/>  
  29.     Key:<s:property value="key"/><br/>  
  30.     Value:<s:property value="value"/><br/>  
  31.     s:iterator>  
  32.     <div>div>  
  33.     <br/>======iterator遍历Map中的User 对象(Object)======<br/>  
  34.     <table border="1" width="50%" cellpadding="0" cellspacing="0">  
  35.         <tr style="background-color: yellow">  
  36.             <td>key=valuetd>  
  37.             <td>idtd>  
  38.             <td>nametd>  
  39.             <td>pwdtd>  
  40.             <td>agetd>  
  41.         tr>  
  42.         <s:iterator value="userMap" id="column">  
  43.     <tr>  
  44.         <td><s:property value="#column"/>td>  
  45.         <td><s:property value="value.id"/>td>  
  46.         <td><s:property value="value.name"/>td>  
  47.         <td><s:property value="value.pwd"/>td>  
  48.         <td><s:property value="value.age"/>td>  
  49.     tr>  
  50.   s:iterator>  
  51.   table>  
  52.   <br/>======iterator遍历Map中的String字符数组======  
  53.         <s:iterator value="arrayMap" id="column">  
  54.         <div><s:property value="#column"/>div>  
  55.         -------------------key:<s:property value="key"/>--------------------<br/>  
  56.         <s:iterator value="value" id="col">  
  57.             <s:property value="col"/><br/>  
  58.         s:iterator>  
  59.         <div>div>  
  60.     s:iterator>  
  61.       
  62.   <br/>======iterator遍历Map中的List集合======  
  63.   <table border="1" width="50%" cellpadding="0" cellspacing="0">  
  64.         <tr style="background-color: yellow">  
  65.             <td>keytd>  
  66.             <td>idtd>  
  67.             <td>nametd>  
  68.             <td>pwdtd>  
  69.             <td>agetd>  
  70.         tr>  
  71.         <s:iterator value="userListMap" id="column">  
  72.             <s:set var="total" name="total" value="#column.value.size"/>  
  73.         <s:iterator value="#column.value" id="col" status="st">  
  74.         <tr>  
  75.             <s:if test="#st.first"><td rowspan="${total}"><s:property value="#column.key"/>td>s:if>  
  76.             <td><s:property value="id"/>td>  
  77.             <td><s:property value="name"/>td>  
  78.             <td><s:property value="pwd"/>td>  
  79.             <td><s:property value="age"/>td>  
  80.         tr>  
  81.         s:iterator>  
  82.     s:iterator>  
  83.   table>  
  84.    <br/>======iterator遍历object[]中的List集合======  
  85.   <table border="1" width="50%" cellpadding="0" cellspacing="0">  
  86.         <tr style="background-color: yellow">  
  87.             <td>keytd>  
  88.             <td>idtd>  
  89.             <td>nametd>  
  90.         tr>  
  91.         <s:iterator value="olist" id="value"  status="st">  
  92.         <tr>  
  93.             <td><s:property value="olist[#st.index][0]"/>td>  
  94.             <td><s:property value="olist[#st.index][1]"/>td>  
  95.             <td><s:property value="olist[#st.index][2]"/>td>  
  96.         tr>  
  97.     s:iterator>  
  98.   table>  
  99.     center>     
  100.  body>  

 

 

 

(二)jstl标签遍历集合

 

(一)用于循环遍历,输出所有的元素

使用要先导入标签库:<%@taglib uri="http://Java.sun.com/jsp/jstl/core" prefix="c" %>    才可以以使用。

(二)的参数及用法:

items 用于接收集合对象,

var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型

begin 定义遍历的开始位置,

end定义遍历的结束位置。begin 和end的引号必须写。

varStatus 表示当前集合的状态,可以访问当前集合元素的信息。

使用方法示例:

${item}

循环遍历,输出一个范围类的元素。

${li}

 

    int[] ages = { 1, 2, 3, 4, 5 }; // 普通数组,JSTL直接使用JSP赋值表达式来取
    List names = new LinkedList(); // List
    names.add("Biao");
    names.add("彪");
    names.add("雷");
    request.setAttribute("names", names); // 添加到request

    Set set = new TreeSet(); // Set
    set.add("One");
    set.add("One");
    set.add("Two");
    set.add("Three");
    set.add("Set");

    Map map = new HashMap(); // Map
    map.put("1", "黄彪");
    map.put("2", "丫头");
    map.put("3", "哥哥");
    map.put("4", "笨蛋");

    List users = new ArrayList(); // JavaBean的List
    users.add(new User("黄彪", "xxxxxx"));
    users.add(new User("昊天", "xxxxxx"));
    users.add(new User("姐姐", "yyyyyy"));
    users.add(new User("丫头", "zzzzzz"));

    session.setAttribute("users", users); // 添加到session

%>




Iterator Collections



遍历数组:
遍历List:
遍历List:

遍历Set:
遍历Map:
Key Value

遍历UserBean的List:
username password

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    int[] ages = { 1, 2, 3, 4, 5 }; // 普通数组,JSTL直接使用JSP赋值表达式来取
    List names = new LinkedList(); // List
    names.add("Biao");
    names.add("彪");
    names.add("雷");
    request.setAttribute("names", names); // 添加到request

    Set set = new TreeSet(); // Set
    set.add("One");
    set.add("One");
    set.add("Two");
    set.add("Three");
    set.add("Set");

    Map map = new HashMap(); // Map
    map.put("1", "黄彪");
    map.put("2", "丫头");
    map.put("3", "哥哥");
    map.put("4", "笨蛋");

    List users = new ArrayList(); // JavaBean的List
    users.add(new User("黄彪", "xxxxxx"));
    users.add(new User("昊天", "xxxxxx"));
    users.add(new User("姐姐", "yyyyyy"));
    users.add(new User("丫头", "zzzzzz"));

    session.setAttribute("users", users); // 添加到session

%>




Iterator Collections



遍历数组:
遍历List:
遍历List:

遍历Set:
遍历Map:
Key Value

遍历UserBean的List:
username password

你可能感兴趣的:(后端框架:Spring,MVC,Struts,Meven)