我正在尝试从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;
}
我可以在jsp页面上打印${employee.emailid}
..但我无法取回,我需要保存多个值..请帮帮我
答案 0 :(得分:1)
要获得多个值,您应该拥有多个具有相同名称的复选框。在这种情况下,它将作为数组放入请求中,您可以将此值作为数组。
如果您有单个复选框 - 您将获得单个值。如果未选中复选框,则根本没有值。如果未选中复选框,则不会为请求添加任何值。
答案 1 :(得分:1)
您应该在您创建的每个复选框的路径属性中给出arrayindex。
您需要在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>
我认为这应该适合你。
希望这会对你有所帮助。
干杯。