s:iterator 里的s:select  下拉框没有显示全部下拉数据这是怎么回事?只显示保存过的下面的list="#request.reasion" 是ACTION里面的 链表,当不被s:iterator 嵌套的时候可以显示全部,嵌套的时候就不行了,要在嵌套里显示全部怎么办呢
<s:iterator value="superviseChange.set" status="s" id="id">
              <s:if test='%{#id.reasion.dataDetailId!=-1}'> 
            
<tr>
<td width="20%" bgcolor="#FFFFFF" align="center">
原因:
</td>
<td width="30%" bgcolor="#FFFFFF">
 <s:select   name="reasion.dataDetailId" list="#request.reasion" listKey="dataDetailId" listValue="dataDetailName" headerKey="-1" headerValue=""  cssStyle="width:160px"/>
                                
</td>
                              <td width="20%" bgcolor="#FFFFFF" align="center">
分析:
</td>
<td width="30%" bgcolor="#FFFFFF">
  <s:textarea name="content" cols="65" rows="5" theme="simple" />
</td>
</tr>
</s:if>
 </s:iterator>

解决方案 »

  1.   


    楼主是说reasion.dataDetailId这个list在select中无法完全显示吧?再仔细检查一下吧,肯定哪儿有错。
    struts2的iterator与select等标签完全是可以嵌套正常使用的。
      

  2.   

    条件没问题去掉s:if  还是一样,下拉菜单只能显示已经保存的,全部还是显示不出来,当去掉s:iterator 就能显示出来了
      

  3.   

    reasion 这个并不是 superviseChange里的的集合,而是单独一个链表,是这个问题吗