日期:2014-05-18  浏览次数:20529 次

struts2<s:iterator value="">标签的困惑
<!-- 对用户表进行遍历 -->
  <s:iterator value="userlist">
  <tr>
  <td>
  <s:property value="username" />
  </td>

  <!-- 对体检项目表进行遍历 -->
<s:iterator value="itemlist">
<td>
<!-- 对关联表进行遍历 -->
<s:iterator value="useritemlist">
<s:if test="%{ ${userid}==${useritem_userid} && ${itemid}==${useritem_itemid} }">
  <input type="checkbox" name="place" checked value="${userid},${itemid}">
</s:if>
</s:iterator>
<!-- 结束对关联表遍历 -->
</td>
</s:iterator>
<!-- 结束对体检项目表遍历 -->
  </tr>
  </s:iterator>
<!-- 结束对用户表遍历 -->
这段struts2标签的意思是,要打印一个用户体检信息的表格,用所有用户容器的长度来进行行的循环,用体检项目来控制列,然后对userid和关联表里的userid比较,itemid和关联表里的itemid比较,如果这两个条件都成立的话,就打印一个已选中的复选框,但是程序在运行的时候,第一次页面上打印的都是不选中的复选框,只有刷新一次复选框才能正确显示出来,在第一次运行时,在后台设断点查看这三个容器,值已经全部正确的传到容器中,这是怎么回事?为什么只有刷新的时候才能正确显示数据?
哪位高手能指点一下,谢谢!


------解决方案--------------------
不太清楚啊。
帮你顶顶!