我在运行ArrayList项目时遇到问题,并在JSP文件中显示它们。
这是我的豆子:
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,它只是具有3个字符串属性的类:电子邮件,用户名,密码
现在我试图在表格中显示详细信息..首先在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}" >
<tr>
<td>${current.email}</td>
<td>${current.username}</td>
<td><input type="checkbox" name="delete" value="${current.email}"</td>
</tr>
</c:forEach>
知道这里有什么问题吗?感谢。
答案 0 :(得分:3)
检查您的前缀“c”是否指向正确的标签库。
应该是
“http://java.sun.com/jsp/jstl/core”
如果不起作用,请检查填充数据的逻辑是否有错误。
答案 1 :(得分:0)
由于您将对象添加到会话中,因此需要从EL中的sessionScope访问它。
<c:forEach var="current" items="${sessionScope.bean.users}" >
<tr>
<td>${current.email}</td>
<td>${current.username}</td>
<td><input type="checkbox" name="delete" value="${current.email}"</td>
</tr>
</c:forEach>