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>

dtoページ

//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

作成する各チェックボックスのパス属性に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> 

これはあなたのために働くはずだと思います。

これがお役に立てば幸いです。

乾杯。

于 2012-05-24T10:19:05.997 に答える
1

複数の値を取得するには、同じ名前のチェックボックスが複数ある必要があります。その場合、それは配列としてリクエストに入れられ、この値を配列として取得できます。

チェックボックスが1つしかない場合は、単一の値を取得します。または、チェックボックスがチェックされていない場合、値はまったくありません。チェックボックスがチェックされていない場合、要求する値は設定されません。

于 2012-05-24T08:47:14.520 に答える