日期:2014-05-17  浏览次数:20739 次

求解JSP表格问题和二重迭代
最近在做点东西,遇到两个问题求教下大家,希望大家不吝赐教
1.Action中取出来的值放到JSP页面里的表格里,但是表格的第一列是跨行跨列的单独一个大格子,里面的值也是从数据库里取出来的,麻烦问下这样的表格该怎么动态生成?
2.取出来的值中有个一list,list里面的元素也是集合,现在我想把list里面的集合分别迭代出来,用了
  <s:iterator value="list" status="status">  
  <s:iterator value="list[#status.index]" >  
  <td width="19"><s:property value='%{count}'/></td>
  </s:iterator>
  </s:iterator>
这种方法,但是这样迭代出来的是list里全部的元素,我想要的效果是第一行取出来的是list里面的第一个子集合里的元素,第二行是第二个子集合里的元素,依次类推,取出来的时候是不知道list里共有多少个子集合的,麻烦问下这样该怎么来迭代?
跪求方法

------解决方案--------------------
<table>
<s:iterator value="list[#status.index]" >
<tr>
<s:property value='%{count}'/>
</tr>
</s:iterator>

</table>
这样有几个数据就动态生成几行,我不太明白你想要什么效果,反正动态生成表格跟这个类似,根据你的需要试试吧


------解决方案--------------------
第一个问题:跨行跨列,可以使用行列合并,如果你觉得这样放数据会麻烦,那就在跨行跨列处放一个小表格(里面是标准行列)。
第二个问题:


<s:iterator value="list" status="status">
<tr>
<s:iterator value="list[#status.index]" >
<td width="19"><s:property value='%{count}'/></td>
</s:iterator>
</tr>
</s:iterator>

------解决方案--------------------
你的数据是否类似于:
List<Domain>
Domain里面又包含一个类似于List<..>的对象。
如果是的话,你没迭代出一个Domain的时候,你取出之中包含的List的长度,作为第一列需要的rowspan的值。