zoukankan      html  css  js  c++  java
  • <s:iterator>标签的用法

    s:iterator 标签有3个属性:
        value:被迭代的集合
        id   :指定集合里面的元素的id
        status 迭代元素的索引

    <s:iterator value="%{dw.goods }" id="goods">
      <tr>
        <td><input type='checkbox' name='deliverybox' id='${goods.code }' /></td>
        <td><input type='text' name='goodsname' value="${goods.name }" /></td>
        <td><input type='text' name='goodscargoHS' value="${goods.hsCode }" /> </td>
        <td>
          <s:select list="#application.cargoJTAll" listKey="code" listValue="name" value="#goods.cargoJT.code"/>

          <!--这里不能使用" <s:select list="#application.cargoJTAll" listKey="code" listValue="name" value="%{goods.cargoJT.code}"/> " -->
        </td>
        <td><input type='text' name='goodsweight' value="${goods.weight }" /></td>
        <td><input type='text' name='goodscapacity' value="${goods.capacity }" /></td>
        <td><input type='text' name='goodsinvoiceno' value="${goods.invoiceno }" /></td>
      </tr>
    </s:iterator>

      1:jsp页面定义元素写法 数组或list

    <s:iterator value="{'1','2','3','4','5'}" id='number'> 
        <s:property value='number'/>A 
    </s:iterator
    打印结果为: 1A2A3A4A5A
      2:索引的用法
    如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
    int getCount()返回当前迭代了几个元素
    int getIndex()返回当前元素索引
    boolean isEven()当然的索引是否偶数
    boolean isFirst()当前是否第一个元素
    boolean isLast()
    boolean isOdd()当前元素索引是否奇数
    <s:iterator value="{'a','b','c'}" id='char' status='st'> 
        <s:if test="#st.Even"> 
            现在的索引是奇数为:<s:property value='#st.index'/> 
        </s:if> 
        当前元素值:<s:property value='char'/> 
    </s:iterator
      3:遍历map
    value可以直接定义为:
    value="#{"1":"a","2":"b"}" 
    每个元素以都好隔开。元素之间的key和value 冒号隔开
    value也可以是数据栈里面的java.util.Map对象
    遍历写法如下:
    <s:iterator value="map" id="id" status="st"> 
         key : <s:property value='key'/> 
         value:<s:property vlaue='value'/> 
    </s:iterator
    当然key 和value 都可以使java 的 Object
      4:遍历数据栈.简单的List类,
    List<Attr> 
    class Attr{String attrName;String getAttrName(){return "123";}}
    <s:iterator value="label" id="id"> 
        <s:property value="#id.attrName" /> 
    </s:iterator
    当然value 还可以写成 value="%{label}" label可以有.操作
    label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();
      5:遍历2个list;
    List<AttrName> attrN {color,size,style}
    List<AttrValue> attrV {red,20,gay}
    这2个list的元素是一一对应的,一个attrN对应一个attrV
    <s:iterator value="%{attrN }" id="id"   status="status"> 
    index    is : <s:property value='status.index'/> 
    attrName is : <s:property value='id'/> or <s:property value='%{id}'/> 
    attrName is : <s:property value='%{attrV[#status.index]}'/> 
    </s:iterator>  
  • 相关阅读:
    ubuntu12.04 死机 卡屏 画面冻结解决方案
    Install Firefox 20 in Ubuntu 13.04, Ubuntu 12.10, Ubuntu 12.04, Linux Mint 14 and Linux Mint 13 by PPA
    ListView1.SelectedItems.Clear()
    android studio 下载地址
    jquery.slider.js jquery幻灯片测试
    jquery.hovermenu.js
    jquery.tab.js选项卡效果
    适配 placeholder,jquery版
    jquery.autoscroll.js jquery自动滚动效果
    将 Google Earth 地图集成到自己的窗体上的 简单控件
  • 原文地址:https://www.cnblogs.com/lbangel/p/3126525.html
Copyright © 2011-2022 走看看