<s:iterator value="positions">
     <input type="checkbox" value="<s:property value="id"/>"  
                <s:iterator value="user.positions">
                        <s:if test="id==id">
                                              checked
                                      </s:if>                 
                 </s:iterator>
              /><s:property value="name"/>
</s:iterator>
positions  所有职位的一个List<Position>
user.positions  某个用户的职位的List<Position>
实现的效果是在所有的职位中这个用户如果属于这个职位就打勾
问题是  红色部分 id  不知道 是里面Position的id还是外面Position的id 。有没有什么好的办法区分开来?

解决方案 »

  1.   

    <s:iterator value="positions" id="myId">
    <input type="checkbox" value="<s:property value="id"/>"   
    <s:iterator value="user.positions">
    <s:if test="id==myId">
      checked
      </s:if>   
    </s:iterator>
      /><s:property value="name"/>
    </s:iterator>
      

  2.   

    2楼的!如果是比较Position的name字段怎么弄?
      

  3.   

    顶你,参考一下struts2标签规范
      

  4.   

    <s:iterator value="positions" id="PId">
    <input type="checkbox" value="<s:property value="PId.id"/>"  
    <s:iterator value="user.positions" id="UId">
    <s:if test="PId.id==UId.id">
      checked
      </s:if>  
    </s:iterator>
      /><s:property value="name"/>
    </s:iterator>这样试下。
      

  5.   

    <s:iterator value="positions" id="PId">
    <input type="checkbox" value="<s:property value="#PId.id"/>"  
    <s:iterator value="user.positions" id="UId">
    <s:if test="PId.id==UId.id">
      checked
      </s:if>  
    </s:iterator>
      /><s:property value="name"/>
    </s:iterator>
    要有#才显示出来,不知道为什么?   #号是干吗的?
      

  6.   

    #:访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();
    #就相当于EL中的$