<logic:notEmpty name="userList">
 <logic:iterate id="user" name="userList">
<option value='<bean:write name="user" property="name" />'  <logic:equal value='<bean:write name="user" property="name" />'   name="userName">selected</logic:equal>>
<bean:write name="user" property="name" />
</option>
  </logic:iterate>
</logic:notEmpty>
我 想用struts标签库判断选中的。为什么这样不可以?那该怎么用。。

解决方案 »

  1.   

    结合EL表达式:
    <logic:notEmpty name="userList"> 
       <logic:iterate id="user" name="userList"> 
          <option value="user.name" ${user.name== userName?'selected':''}> 
            <bean:write name="user" property="name" /> 
          </option> 
       </logic:iterate> 
    </logic:notEmpty> 
      

  2.   

    <option value=' <bean:write name="user" property="name" />'  <logic:equal value=' <bean:write name="user" property="name" />'  name="userName">selected </logic:equal>> 
    兄弟,你这样当然不行!
    </logic:equal>> 
    标签不可以这样嵌套在一起的,
    可以是包含关系。解决方法:使用EL表达式
    写法楼上写的可以:
    <logic:notEmpty name="userList"> 
      <logic:iterate id="user" name="userList"> 
          <option value="user.name" ${user.name== userName?'selected':''}> 
            <bean:write name="user" property="name" /> 
          </option> 
      </logic:iterate> 
    </logic:notEmpty> 
      

  3.   

    建议用js加上ajax来判断,如果需要后台的话
      

  4.   

    无语啊~STRUTS1.0一个字烦~不妨试下STRUTS2.0的标签。
    <s:select list="userList" listkey="name" listValue="name" value="po.name" name="po.name" theme="simple"></:select>
    超级简单,这样就可以实现你的所要选中的功能。