【发布时间】:2013-02-12 14:40:15
【问题描述】:
我有一个如下的 Java Bean
class Account
{
private long id;
private String userName;
private String userId;
//Getters, Setters for Above
}
public List<Account> getAccountList()
{
List<Account> accountList = new ArrayList();
Account account;
.
.
.
//db code for fetching data's from database
while(rs.next())
{
account = new Account();
account.setId(rs.getLong("Id"));
account.setUserName(rs.getString("UserName"));
account.setUserId(rs.getString("UserId"));
accountList.add(account);
}
return accountList ;
}
我正在分配我在 servlet 中的函数中获得的列表,并将其转发到 JSP 页面,在该页面中我将显示 Account 中的用户列表。
List<Account> accountList = new ArrayList<Account>();
accountList = objdbUtil.getAccountList();
request.setAttribute("arrUsersList", accountList);
RequestDispatcher rdst = request.getRequestDispatcher("UserList.jsp");
rdst.forward(request, response);
现在如何在 JSP 中显示数据,因为列表中包含集合。
我可以直接使用下面的代码吗
<c:forEach var="arrUsersList" items="${requestScope.arrUsersList}">
</c:forEach>
【问题讨论】:
-
是的,您可以,只需设置 var='user' 因为它是您的用户列表中的一个项目,而不是列表本身。然后要打印属性,您可以使用 ${user.userName}
-
而且您不需要
requestScope.arrUsersList,只需arrUsersList就足够了。 -
请注意,您可以简单地执行以下操作:
List<Account> accountList = objdbUtil.getAccountList();。您的代码正在创建一个不必要的对象并将其丢弃。