`
violasogni
  • 浏览: 21971 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类

JSP遍历显示为多列

阅读更多
JSP遍历显示为多列
<tr>  
  <td height="26" bgcolor="#FFFFFF" align="right" rowspan="2">  
    授予角色:  
  </td>  
  <td bgcolor="#FFFFFF" align="left" colspan="3">  
  <table width="320">  
    <tr>  
     <s:iterator id="xtjss" value="xtjs" status="statu">  
      <td >  
        <input type="checkbox" name="xtjss<s:property value='#xtjss.jsdm'/>"  value="<s:property value='#xtjss.jsdm'/>"/>  
         <s:property value='#xtjss.jsmc'/>  
      </td>  
      <s:if test="%{#statu.index > 0 && (#statu.index+1)%3==0}">  
        </tr><tr>  
      </s:if>  
     </s:iterator>  
    </tr>  
  <tr>  
  <td colspan="2">  
    <input type="checkbox" name="selectAll" id="selectAll"   onclick="setAll()"/>  
      全选  
    </td>  
  </tr>  
  </table>  
  </td>  
</tr>                         </tr> 

<tr>
  <td height="26" bgcolor="#FFFFFF" align="right" rowspan="2">
    授予角色:
  </td>
  <td bgcolor="#FFFFFF" align="left" colspan="3">
  <table width="320">
    <tr>
     <s:iterator id="xtjss" value="xtjs" status="statu">
      <td >
        <input type="checkbox" name="xtjss<s:property value='#xtjss.jsdm'/>"  value="<s:property value='#xtjss.jsdm'/>"/>
         <s:property value='#xtjss.jsmc'/>
      </td>
      <s:if test="%{#statu.index > 0 && (#statu.index+1)%3==0}">
        </tr><tr>
      </s:if>
     </s:iterator>
    </tr>
  <tr>
  <td colspan="2">
    <input type="checkbox" name="selectAll" id="selectAll"   onclick="setAll()"/>
      全选
    </td>
  </tr>
  </table>
  </td>
</tr> </tr>
其中“#statu.index > 0 && (#statu.index+1)%3==0”条件,是0、1、2换行3、4、5再换行。。。
主要就是用了下iterator 标签的status属性
以下是网上找的一些资料:
struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:
s:iterator 标签有3个属性:
    value:被迭代的集合
     id  :指定集合里面的元素的id
   status:迭代元素的索引

1:jsp页面定义元素写法 数组或list
Java代码
<s:iterator value="{'1','2','3','4','5'}" id='number'>   
     <s:property value='number'/>A   
</s:iterator>  

<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()当前元素索引是否奇数
Java代码
<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>  

<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对象
遍历写法如下:
Java代码
<s:iterator value="map" id="id" status="st">   
      key : <s:property value='key'/>   
      value:<s:property vlaue='value'/>   
</s:iterator>  

<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类,
Java代码
List<Attr>   
class Attr{String attrName;String getAttrName(){return "123";}}  
<s:iterator value="label" id="id">   
     <s:property value="#id.attrName" />   
</s:iterator>  

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;
Java代码
List<AttrName> attrN {color,size,style}  
List<AttrValue> attrV {red,20,gay} 

List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}这2个list的元素是一一对应的,一个attrN对应一个attrV
Java代码
<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]}'/>   
分享到:
评论

相关推荐

    JSP实用技巧集合,jsp编程的一些小技巧总结

    24. 在JSP中如何调用浏览器中的"另存为"功能? 25. 网页全屏显示 26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd) 27. 上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将JSP的变量或者bean...

    jsp编程技巧集锦

    在JSP中如何调用浏览器中的"另存为"功能? 25. 网页全屏显示 26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd) 27. 上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将...

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    遍历的列数量以p的length为准 步骤3:一个sheet表就是一个Json,多表就多Json,对应一个 List 一个sheet表的一行数据就是一个 Map 一行中的一列,就把当前列头为key,列值为value存到该列的Map中 Map 一个线性Hash ...

    JavaScript网页特效范例宝典源码

    实例062 遍历多选择下拉列表 105 实例063 在下拉列表中进行多选移除 106 实例064 将数组中的数据添加到下拉菜单中 107 实例065 应用下拉菜单选择所要联机的网站 108 实例066 多级级联菜单 110 实例067 可以输入文字...

    Java开发技术大全(500个源代码).

    assignTwoDime.java 为二维数组赋值 getMaxElem.java 获取数组中的最大元素 incCapicity.java 演示StingBuffer的容量增长 SortDemo.java 排序示例 travelTwoDime.java 遍历二维数组 traversing.java 遍历一维...

    JAVA面试题最全集

    列出Jsp中包含外部文件的方式,两者有何区别。 6.说明Jsp中errorPage的作用,应用范围。 7.介绍在Jsp中如何使用JavaBeans。 8.简单介绍JSP的标记库 9.Jsp和Servlet中的请求转发分别如何实现。 三、J2EE相关知识...

    Java面试宝典2020修订版V1.0.1.doc

    23、行转列、列换行怎么转 48 24、什么是PL/SQL? 49 25、序列的作用 50 26、表和视图的关系 50 27、oracle基本数据类型 50 28、drop、truncate、 delete区别 50 29、如何优化大数据量的访问? 51 30、oracle怎么...

    chatRoom 聊天室

    /* 创建10行10列的空多行文本域 */ jta.setEditable(false); /* 设置多行文本域为不可编辑 */ jta.setFont(f); /* 设置多行文本域字体 */ label = new JLabel(name + ":"); /* 创建带有用户名的文本标签 */ ...

    java面试题

    按提交键就在另一页面显示按什么排序,结果为,提供reset 108 84.5. 金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-&gt;(一千零一拾一元整)输出。 109 84.6. 内部类的实现方式? 112 84.7. 编写一个...

    cms后台管理

    允许多个文章ID,用","分开。排斥其他所有筛选参数。 */ public static final String PARAM_IDS = "ids"; @SuppressWarnings("unchecked") public void execute(Environment env, Map params, TemplateModel[]...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能! ...

    Java学习笔记-个人整理的

    {4.14}数组转换为集合}{89}{section.4.14} {4.15}Map的迭代}{90}{section.4.15} {4.15.1}字符统计}{91}{subsection.4.15.1} {5}格式化输入输出}{94}{chapter.5} {5.1}时间与日期}{94}{section.5.1} {5.1.1}...

    达内 coreJava 习题答案

    i++){ //运行老久,减少循环次数会快很多,只是精确度小些 pi += (fenZi/fenMu) ; fenZi *= -1.0; //每项分子的变化是+4,-4,+4,-4 .... fenMu += 2.0; //分母的变化是1,3,5,7, .... 每项递加2 } ...

Global site tag (gtag.js) - Google Analytics