日期:2014-05-17  浏览次数:20767 次

jsp显示servlet传来的LIST问题
在servlet里面:
List<ShowBean> l= conns.getuser(dostr);

for(int i=0;i<l.size();i++) {
ShowBean bean=(ShowBean)l.get(i);
System.out.println(bean.getId());
System.out.println(bean.getUsername());
System.out.println(bean.getPsw());
}
request.setAttribute("users", l);
request.getRequestDispatcher("/showuser.jsp").forward(request,response);
返回一个list到jsp上面
然后在jsp就不懂怎么显示啦@!!!求解啊!!
我试过的方法:
 List<ShowBean> list=(List)request.getAttribute("users");
ShowBean bean=new ShowBean();
 for(int i=0;i<list.size();i++)
{
  bean=list.get(i);
}

Showbean是一个实体类。在jsp上面用<%@ page import= "mybean.ShowBean"%> 引入 这样有问题吗??

------解决方案--------------------
居然报错,你ShowBean难道还有两种?
<%@ page import= "mybean.*"%>
<%
List list=(List)request.getAttribute("users");
for(int i=0;i<list.size();i++) {
Object bean = list.get(i);
System.out.println(bean.getClass());
}
%>

看看是啥?



另外如果是JSP2.0的话,可以用EL表达式:
<c:forEach items="users" var="obj">
${obj.XXOO}
</c:forEach>
------解决方案--------------------
探讨

用JSTL标签吧、比较方便一点、

------解决方案--------------------
Java code

<table>
    <tr>
      <th>id</th>
      <th>username</th>
      <th>psw</th>
    </tr>
<%
  List<ShowBean> list=(List)request.getAttribute("users");
  for(int i=0;i<list.size();i++){
%>
    <tr>
      <th><%=list.get(i).getId()%></th>
      <th><%=list.get(i).getUsername()%></th>
      <th><%=list.get(i).getPsw()%></th>
    </tr>
<%
  }
%>
</table>