2014-11-03 53 views
0

獲得下拉列表的元素有一個User類,我如何從JSP

//UserDAO 
private String name; 
private String[] certifications; 

//getters and setters here.... 

Controller.java

List<UserDAO> usersList= new ArrayList<UserDAO>(); 
UserDAO userOne = new UserDAO(); 
userOne.setName("user1"); 
userOne.setCertifications({"cert1"}); 

UserDAO userTwo = new UserDAO(); 
userTwo.setName("user1"); 
userTwo.setCertifications({"cert1","cert2"}); 

usersList.add(userOne); 
usersList.add(userTwo); 

model.addAttribute("usersList", usersList); 

JSP

<c:forEach var="list" items="${usersList}"> 
    <tr> 
     <td>"${list.name}"/> 
     <input type="hidden" name="name" value="${list.name}"/></td> 
     <td> 
     <select> 
     <c:forEach var="rowSelect" items="${list.certifications}"> 
     <option value = "${rowItemSelect}">${rowItemSelect}</option>  
     </c:forEach>                          
     </select> 
     </td> 
    </tr> 
</c:forEach> 

以上代碼正確填充數據。請告訴我如何發送所選的下拉值認證,JSP,以及如何在控制器來訪問這些值。

回答

0

你必須把你的選擇下拉列表中<form>當表單提交相應的setter應該叫。

您必須爲您的<select>標籤命名,以便框架知道將哪個變量分配給<option>值。如果你想將值發送回myName可變那麼你<select>應該是這樣的

<select name="myName"> 
+0

我試過<形式:選擇name =「下拉菜單」><形式:選擇項=「$ {} list.certifications」 />。但現在我無法查看JSP。錯誤表示屬性路徑對於標記選擇是強制性的。我試圖把路徑=「認證」,仍然有一個錯誤。 – adbrpc 2014-11-04 03:20:45

+0

我用路徑=「usersList」,現在的工作。 – adbrpc 2014-11-04 03:55:07