猿问

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

我想在 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 + " ");


汪汪一只猫
浏览 68回答 1
1回答

大话西游666

问题出在下面一行:<c:forEach&nbsp;&nbsp;var="name"&nbsp;&nbsp;items="${person.getProjectList()}">这里,person是 JSP 中的未知变量。由于您将 a 设置person为req使用myPerson如下:req.setAttribute("myPerson",&nbsp;person);myPerson您只能使用以下方式检索它:<c:forEach&nbsp;&nbsp;var="name"&nbsp;&nbsp;items="${myPerson.getProjectList()}">或者<c:forEach&nbsp;&nbsp;var="name"&nbsp;&nbsp;items="${myPerson.projectList}">
随时随地看视频慕课网APP

相关分类

Html5
我要回答