如何从JSP获取下拉列表的元素

时间:2014-11-03 14:34:16

标签: java jquery spring jsp jstl

我有一个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中发送所选的认证下拉值以及如何在控制器中访问这些值。

1 个答案:

答案 0 :(得分:0)

您必须将您的选择下拉列表放在<form>中,并且在提交表单时,应调用相应的setter。

您必须为<select>标记指定名称,以便框架知道要将<option>值分配给哪个变量。如果您要将值发送回myName变量,那么您的<select>应如下所示

<select name="myName">