我有一个User类,
//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 :(得分:0)
您必须将您的选择下拉列表放在<form>
中,并且在提交表单时,应调用相应的setter。
您必须为<select>
标记指定名称,以便框架知道要将<option>
值分配给哪个变量。如果您要将值发送回myName
变量,那么您的<select>
应如下所示
<select name="myName">