Итерирование элементов ArrayList с помощью JSTL forEach

У меня возникла проблема с запуском элементов ArrayList и отображением их в JSP файле.

Вот мой bean:

public class UsersList {
 private ArrayList<userdetails> users = new ArrayList<userdetails>();
 public ArrayList getUsers( ){
 return users;
 }
 public void setUsers(ArrayList<userdetails> users){
 this.users = users;
 }
}
</userdetails></userdetails></userdetails>

пользователи содержат UserDetails, который просто является классом с тремя свойствами String: email, username, password

Теперь я пытаюсь отобразить детали в таблице.. сначала в index.jsp У меня есть эти команды:

UsersList bean = new UsersList();
 bean.setUsers(db.getUsersList()); // getting all user deatils from database into the list
 session.setAttribute("bean", bean);
 RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/adminPage.jsp");
 dispatcher.forward(request, response);

И теперь на adminPage.jsp, когда я должен отобразить таблицу, содержащую данные пользователей, ее ничего не отображает. Вот код:

<c:foreach var="current" items="${bean.users}">

 ${current.email}
 ${current.username}
 

 </c:foreach>

Любая идея, что проблема здесь? Спасибо.

2 ответа

Проверьте, указывает ли ваш префикс "c" на нужную библиотеку тегов.

Это должно быть

"http://java.sun.com/jsp/jstl/core"

Если это не работает, проверьте, есть ли ошибка в логике заполнения данных.


С момента добавления объекта в сеанс вам нужно получить к нему доступ из sessionScope в EL.

<c:foreach var="current" items="${sessionScope.bean.users}">

 ${current.email}
 ${current.username}
 

 </c:foreach>

licensed under cc by-sa 3.0 with attribution.