spring MVC:form:radiobutton for boolean property not rendering in jsp

时间:2013-10-30 08:26:57

标签: spring-mvc jstl

我在jsp中有代码;以下代码位于c:forEach循环中。

 <td>
        <form:radiobutton  path="status" value="true"  class="radio onRadio" />
           <label class="lblOn">On</label>
        <form:radiobutton  path="status" value="false"  class="radio offRadio" />
           <label class="lblOff">Off</label>
    </td>

在我的pojo中,财产是:

public Class Channel{
    private boolean status= false;
 ......
}

和吸气者和二传手

serviceImpl就像:

 Channel oChannel = new Channel();

    /* active/inactive will comes from DB */

    if("active".equalsIgnoreCase("active")){
        oChannel.setStatus(true);
    }else{
        oChannel.setStatus(false);
    }

但是在jsp中,我为所有行选择了Off,我做错了吗?有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

在服务中尝试此更改,因为get(“status”)将是您单选按钮的值,并且您使用“active”进行检查。 “主动”来自哪里?

if("active".equalsIgnoreCase(map.get("status").toString()))

if("true".equalsIgnoreCase(map.get("status").toString()))

答案 1 :(得分:0)

这次得到一个令人讨厌的解决方案:

<td>
  <c:choose>
    <c:when test="${status == 'true'}">
      <input type="radio" id="chStatusId" name="status" value="true" checked="checked"/>
      <label class="lblActive">Active</label>
      <input type="radio" id="chStatusId" name="status" value="false"/>
      <label class="lblInactive">Inactive</label>
    </c:when>
    <c:when test="${status == 'false'}">
      <input type="radio" id="chStatusId" name="status" value="true" />
      <label class="lblActive">Active</label>
      <input type="radio" id="chStatusId" name="status" value="false" checked="checked"/>
      <label class="lblInactive">Inactive</label>
   </c:when>
</c:choose> 
</td>