从spring控制器类中的jsp中检索多个复选框值

时间:2015-09-21 08:39:19

标签: java spring jsp spring-mvc

在我的表格中,我有一行复选框,告诉控制器是否必须包含该表格的特定行或不包含该行。该复选框与其他行没有关系。我尝试按以下方式添加它:

<form:form id="fee" method="post" modelAttribute="clientForm" commandName = "clientForm" 
action="<%= request.getContextPath().toString()%>/addFee.do">

    <TABLE>
            <tr>
                <c:forEach var="type" items="${clientInfo}" varStatus="status">
                    <td><form:checkbox class="editable${ifeeCount}" path="includeFeeValue" value="false"/> </td>
                        <td>feeType<c:out value = "${status.index}"/></td>
                        <td>Source Fee<c:out value = "${status.index}"/></td>
                        <td><form:input class="editable${ifeeCount}" disabled="true" path="overriddenFee" /></td>
                            <td><form:errors path="overriddenFee" cssClass="error" /></td>
                </c:forEach>
            </tr>
    </TABLE>

在我的表单中,我列出了private ArrayList<String> includeFeeValue;

我试图在spring控制器类中检索它,如下所示:

@RequestMapping(value="/addFee.do",method = RequestMethod.POST)
protected @ResponseBody ModelAndView selectValues(@ModelAttribute("clientForm") PaswFeeMaintenanceForm MyMaintForm ) throws Exception {

    for(int i=0;i<MyMaintForm.getIncludeFeeValue().size();i++){
        System.out.println("Checkbox : "+MyMaintForm.getIncludeFeeValue().get(i)+ " of "+i);
    }
}

我提交表单后,会在此处null pointer exception抛出MyMaintForm.getIncludeFeeValue().size()

你能告诉我这里缺少什么吗?

2 个答案:

答案 0 :(得分:1)

删除disabled='true',它会起作用。我的文本字段遇到了同样的问题,属性被禁用为真。

并使用private String[] includeFeeValue代替List

答案 1 :(得分:0)

当您的复选框被禁用时,ans禁用的元素值永远不会流向控制器或Servlet。我建议你删除一个禁用的属性。我希望它会起作用。