<s:if test='"<s:property value="person.major"/>"==男'>
<label class="radio inline">
 <input type="radio" name="sexes1" value="男" checked="checked">
男 </label>
</s:if>
<s:else>
<input type="radio" name="sexes1" value="男">
 </s:else>
 <s:if test='"<s:property value="person.major"/>"==男'>
<label class="radio inline">
 <input type="radio" name="sexes2" value="女" checked="checked"> 
 女 </label>
</s:if>
<s:else>
<label class="radio inline">
<input type="radio" name="sexes2" value="女" > 
女 </label>
</s:else>
上面的代码能精简一下嘛????
好麻烦啊!!!!
   怎么可以实现这个呢?????

解决方案 »

  1.   

    <input type="radio" name="sexes1" value="男" <c:if test="person.major='男'">checked="checked"</c:if>>
    <input type="radio" name="sexes1" value="女" <c:if test="person.major='女'">checked="checked"</c:if>>
    问题关键: 是否在input 这个tag上加上checked="checked" 你就直接通过jstl 标签就搞定了
      

  2.   

    你用了<s:>你是用的struts2么?  struts2 你就直接用struts2的标签<s:radio 就直接给你搞定了 不用你自己写例子:
     <s:radio name="staffSex" list="#{'M':'男','F':'女'}" listKey="key" listValue="value" value="'M'"/> 
      

  3.   

    经大师们指点。^_^果然奏效···
    <s:radio name="person.sex" list="%{#{'男':'男','女':'女'}}"  value="person.sex"/>只是有点疑惑的是,它的排版为何是竖着的而不是横的呢?
    还有就是这个listKey="key" listValue="value"这两个属性何用之有?       在此。谢谢各位大师了!
      

  4.   

    <input type="radio" name="sexes1" value="男">
    <input type="radio" name="sexes2" value="女">插一下嘴。
    如果用html,radio的name要写成相同的,(相同name的radio只能选中1个,不用你自己去写判断)
    <input type="radio" name="sexes1" value="男">
    <input type="radio" name="sexes1" value="女">用 request.getParameter("sexes1") 得到的就是选中的值。
      

  5.   

    +1name一样就是只能单选,,,radio本身就是单选用的,,,没必要那么麻烦。
      

  6.   

    排版这个是因为struts2的标签有默认的样式,这个可以自己去改,但好像有点麻烦,没试过
    listKey="key" listValue="value" 
    listKey就相当于<input type="radio" name="sexes1" value="男">的value值
    而listValue="value" 就是你这个单选框旁边显示的值,这个你可以看生成的页面的html代码
      

  7.   

    把name属性设置成一样的.也就是把radio进行分组.一组当中自然只有一个可以选择了.如果选择了另一个,前面的会自动取消.