2012-05-24 54 views
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; 
    } 

我能夠jsp頁面上打印${employee.emailid} ..但我不能夠找回,我需要保存多個值。請幫我出

回答

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> 

我認爲這應該適合你。

希望這可以幫助你。

乾杯。

1

要獲得多個值,您應該有多個具有相同名稱的複選框。在這種情況下,它將作爲一個數組放在請求中,並且可以將該值作爲數組獲取。

如果您有單個複選框 - 您將獲得單個值。如果複選框沒有被選中,或者根本沒有值。如果未選中複選框,則不會提出任何請求。

+0

是的,你是對的....但如果你看到我的jsp代碼,你會知道我已經在一個循環中使用單個複選框單變量..仍然我無法獲得這些值在數組中。 – Raghuveer

+0

也許類型應該是布爾值? – alexey28