3

我在运行 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;
    }
}

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>

知道这里有什么问题吗?谢谢。

4

2 回答 2

3

检查您的前缀“c”是否指向正确的标签库。

它应该是

“http://java.sun.com/jsp/jstl/core”

如果这不起作用,请检查填充数据的逻辑是否有错误。

于 2013-01-04T14:01:36.910 回答
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>
于 2013-01-04T11:23:31.540 回答