1、普通list的遍历,list封装的是对象
<table width="100%" border="0" cellspacing="0" cellpadding="0"
class="info_tab1">
<tr>
<th width="20%">编号</th>
<th width="20%">姓名</th>
<th width="20%">归属系</th>
<th width="20%">联系电话</th>
<th>操作</th>
</tr>
<s:iterator value="teacherList" status="varStatus">
<tr>
<td><s:property value="tid" /></td>
<td><s:property value="tname" /></td>
<td><s:property value="belong" /></td>
<td><s:property value="ttel" /></td>
<td>
<a href="javascript:modTeacher('<s:property value="tid" />');">修改</a>
<a href="javascript:delTeacher('<s:property value="tid" />');">删除</a>
</td>
</tr>
</s:iterator>
</table>
效果图:
2、稍复杂一点的,List<String[]>,list里面封装的是一个字符串数组,诀窍就是把list一样当做数组来遍历,例如:
<table width="100%" class="info_tab1">
<tr>
<th>周次</th>
<th>星期</th>
<th>节次</th>
<th>上课地点</th>
<th>操作</th>
</tr>
<s:iterator value="viewList" status="column">
<tr>
<td><s:property value="viewList[#column.index][0]"/></td>
<td><s:property value="viewList[#column.index][1]"/></td>
<td><s:property value="viewList[#column.index][2]"/></td>
<td><s:property value="viewList[#column.index][3]"/></td>
<td><a href="javascript:modScheduling('<s:property value="viewList[#column.index]"/>','<s:property value="tcid"/>');">调课</a></td>
</tr>
</s:iterator>
</table>
效果如下:
3、再稍微复杂一点的,比如说我要遍历一个map,而且map的结构稍复杂:Map<String,Map<Integer,List<String[]>>>
首先说一下我这个结构的大致意思,我这里设计的是课程表的数据结构,一个教室对应一个课表,所以外面的map的key是课室号,value属于课表内容,然后里面的map呢我是根据单元格来设计的,就是说每一个单元格放相应的课程,比如说:星期一第一节这个单元格需要上数学这门课;
遍历如下:
<s:iterator value="courseTableMap" id="column">
<h2 align="center"><s:property value="key"/></h2>
<table cellpadding="1" cellspacing="1" border="1px" width="100%">
<tr>
<th width="4%">星期/节次</th>
<th width="9.7%">1</th>
<th width="9.7%">2</th>
<th width="9.7%">3</th>
<th width="9.7%">4</th>
<th width="9.7%">中午</th>
<th width="9.7%">5</th>
<th width="9.7%">6</th>
<th width="9.7%">7</th>
<th width="9.7%">8</th>
<th>晚上</th>
</tr>
<tr>
<td>星期一</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=0&&#dd.key<10">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
<tr>
<td>星期二</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=10&&#dd.key<20">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
<tr>
<td>星期三</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=20&&#dd.key<30">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
<tr>
<td>星期四</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=30&&#dd.key<40">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
<tr>
<td>星期五</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=40&&#dd.key<50">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
<tr>
<td>星期六</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=50&&#dd.key<60">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
<tr>
<td>星期天</td>
<s:iterator value="#column.value" id="dd">
<s:if test="#dd.key>=60&&#dd.key<70">
<td>
<s:iterator value="#dd.value" id="se">
<s:property value="#se[0]"/>
<s:property value="#se[1]"/>
<s:property value="#se[2]"/>
<s:property value="#se[3]"/>人
第<s:property value="#se[4]"/>周
<br/>
</s:iterator>
</td>
</s:if>
</s:iterator>
</tr>
</table>
</s:iterator>
效果如下:
这里用了一个很笨的方法来遍历,另外这里还用了一个js来合并单元格,具体如下:
<script type="text/javascript">
$(document).ready(function(){
$("tr").each(function(index, tre) {
var txt = "";
var cnt = 1;
var pos = 1;
var before = 0;
$(tre).find("td").each(function(index, tde) {
if ($(tde).text() == txt) {
cnt++;
$(tre).children("td").eq(pos).attr("colspan", cnt);
$(tde).remove();
} else {
before += cnt - 1;
pos = index - before;
cnt = 1;
txt = $(tde).text();
}
});
});
});
</script>
第一次写博客,请多多指教。