0

我正在尝试从 jsp 页面访问多个复选框值..但我最终得到了错误的绑定..

jsp页面:

<c:forEach items="${employees}" var="employee">
                    <tr>
                         <td><spring:checkbox path="selectedMails" value="<c:out value='${employee.emailid}'/>"/> </td> 
                        <td><spring:label path="employeeId">${employee.employeeId}</spring:label></td>
                        <td><spring:label path="employeeName">${employee.employeeName}</spring:label></td>
                        <td><spring:label path="emailid" >${employee.emailid}</spring:label></td>
                        <td><spring:label path="reportmanager">${employee.reportmanager}</spring:label></td>

                    </tr>
                </c:forEach>

页面

//Invitation Beans
    private String [] selectedMails;

    public String [] getSelectedMails() {
        return selectedMails;
    }
    public void setSelectedMails(String [] selectedMails) {
        this.selectedMails = selectedMails;
    }

我可以${employee.emailid}在jsp页面上打印..但我无法返回,我需要保存多个值..请帮帮我

4

2 回答 2

1

要获得多个值,您应该有多个具有相同名称的复选框。在这种情况下,它将作为数组放入请求中,您可以将此值作为数组获取。

如果您有单个复选框 - 您将获得单个值。或者如果未选中复选框,则根本没有价值。如果未选中复选框,它不会请求任何值。

于 2012-05-24T08:47:14.520 回答
1

您应该在路径属性中为您创建的每个复选框提供数组索引。

您需要在 jsp 代码中进行以下更改。

<c:forEach items="${employees}" var="employee" varStatus="cnt">
    <tr> 
        <td><spring:checkbox path="selectedMails[${cnt.index}]" value="<c:out value='${employee.emailid}'/>"/> </td>  
        <td><spring:label path="employeeId">${employee.employeeId}</spring:label></td> 
        <td><spring:label path="employeeName">${employee.employeeName}</spring:label></td> 
        <td><spring:label path="emailid" >${employee.emailid}</spring:label></td> 
        <td><spring:label path="reportmanager">${employee.reportmanager}</spring:label></td> 
    </tr> 
</c:forEach> 

我认为这应该对你有用。

希望这对您有所帮助。

干杯。

于 2012-05-24T10:19:05.997 回答