Как использовать foreach l oop внутри выпадающего списка? - PullRequest
0 голосов
/ 27 марта 2020

Я хочу перебрать массив с foreach l oop в файле jsp (welcome. jsp) и хочу поместить "имена проектов" в раскрывающийся список. Но код не работает.

<!-- 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");

До сих пор я могу отображать только требуемые имена проектов (добро пожаловать. jsp) через a для l oop на странице

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

1 Ответ

0 голосов
/ 29 марта 2020

Проблема в следующей строке:

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

Здесь person - неизвестная переменная в JSP. Поскольку вы устанавливаете person в req, используя myPerson следующим образом:

req.setAttribute("myPerson", person);

, вы можете получить его, используя myPerson только следующим образом:

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

или

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