如何在下拉列表中使用foreach循环?

时间:2020-03-27 14:21:00

标签: java html jsp foreach drop-down-menu

我想在jsp(welcome.jsp)文件中使用foreach循环遍历数组,并希望将“项目名称”放在下拉列表中。但是代码不起作用。

<!-- dropdown menu -->
 <select name="projectList" id="arrDropdownList" >
    <c:forEach  var="name"  items="${person.getProjectList()}">
        <option value="${name}">${name}   </option>
    </c:forEach>
 </select>

我通过doPost()方法(RequestPostForm.java)接收指定的数据。 (arrDropdownList包含项目名称)

 Person person = new Person(name, email, authStringEnc, arrDropdownList);
 req.setAttribute("myPerson", person);
 RequestDispatcher dispatcher = req.getRequestDispatcher("welcome.jsp");

到目前为止,我只能通过页面上的for循环显示所需的项目名称(welcome.jsp)

for(Object elem : person.getProjectList())
        out.print(elem + " ");

1 个答案:

答案 0 :(得分:0)

问题在以下行中:

<c:forEach  var="name"  items="${person.getProjectList()}">

在这里,person是JSP中的未知变量。由于您使用personreq设置为myPerson,如下所示:

req.setAttribute("myPerson", person);

您只能使用myPerson来检索它,如下所示:

<c:forEach  var="name"  items="${myPerson.getProjectList()}">

<c:forEach  var="name"  items="${myPerson.projectList}">