当前位置: 代码迷 >> Java Web开发 >> <c:forEach 里面内容不能显示,搞了一晚上了
  详细解决方案

<c:forEach 里面内容不能显示,搞了一晚上了

热度:1787   发布时间:2016-04-16 21:28:36.0
求教:<c:forEach 里面内容不能显示,搞了一晚上了
是这样的 , 我我在servlet中向前端页面传递了一个数组(数组的元素是UserBean),希望在页面能循环的把每一个User信息显示出来,可在 JSP的<c:forEach中 无法显示。 请看我的代码:

Java代码:
首先是UserBean的类

package com.demo.data;

public class UserBean {
private String name;
private String pwd;

public UserBean(){

}

public void setName(String n) {
this.name = n;
}

public String getName() {
return this.name;
}

public void setPwd(String p) {
this.pwd = p;
}

public String getPwd() {
return this.pwd;
}
}


然后是发送给前端页面的代码:

ArrayList<UserBean> list = new ArrayList<UserBean>();
while (rs.next()) {
UserBean user = new UserBean();
user.setName(rs.getString(2)); // 名字
user.setPwd(rs.getString(3));    // 密码
list.add(user);  //把每一个user加入列表
}

RequestDispatcher rd = req.getRequestDispatcher("/WebRoot/main.jsp"); 
        req.setAttribute("users",list);//存值
        rd.forward(req, resp);


好了 在看页面JSP代码

<jsp:useBean id="users" class="com.demo.data.UserBean" ></jsp:useBean>

<c:forEach items="${users}" var="entity" > 
<tr>
<td>${entity.name}</td>
<td>${entity.pwd}</td>
</tr>
</c:forEach>


问题就在这,页面不报错,却无法显示任何内容。

我在页面中这样写 <%=request.getAttribute("users")%> , 运行时能显示内容  [com.demo.data.UserBean@161b2fb, com.demo.data.UserBean@12da053, com.demo.data.UserBean@78b1f4, com.demo.data.UserBean@1eb305e]  

数据库中刚好是4条记录,说明能取到, 就是不能在<c:forEach 中显示 , 大家帮帮我吧,搞了一晚上了 郁闷啊
------解决思路----------------------
<c:forEach items="${users.objectList}" var="entity" > 
你试试这个
------解决思路----------------------
引用:
那请问 还有什么别的办法 可以显示着几条记录吗


引用:
Quote: 引用:

把<jsp:useBean id="users" class="com.demo.data.UserBean" ></jsp:useBean>去掉或者把id换个名字


没用这样


这个这边肯定不应该这么写的,底面c:foreach的标签没有问题,如果还是不行,你可以直接用
<%request.getAttribute(),然后循环%>
------解决思路----------------------

引用:
RequestDispatcher rd = req.getRequestDispatcher("/WebRoot/main.jsp"); 


这句后面加上.forward(request,response)试试
req.getRequestDispatcher("/WebRoot/main.jsp").forward(request,response);
------解决思路----------------------
有加,看错了,请无视
------解决思路----------------------
 没赋值呗,rs 是啥 rs.getString(2/3) 有值吗
------解决思路----------------------
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
jsp中加这个没有
------解决思路----------------------
没加C标签,jsp:userbean冲突
  相关解决方案