我在后台从数据库中查询了很多的用户对象,
Users u1=new Users();
Users u2=new Users();
Users u3=new Users();
然后把这些对象存入了list集合中,
List<Users>  user=new  ArryList<Users>(); 
user.add(u1);
user.add(u2);
user.add(u3);
我把集合存进了session中,
我用
session.setAttribute("u",user);
但是现在我在jsp页面用如下的方法却出现异常!<% List<Users>  user=new  ArryList<Users>();   user=(list)session.getAttribute("user");   
 %><%  for(Users u:user){   %>
         
<li> <%u.getName()%></li>
<li> <%u.getPwd()%></li>
<li> <%u.getState()%></li><%
}
%>
那位牛人给说下我错在那里了,在顺便说下用struts2的标签怎么去取!我在后台从数据库中查询了很多的用户对象,
Users u1=new Users();
Users u2=new Users();
Users u3=new Users();
然后把这些对象存入了list集合中,
List<Users>  user=new  ArryList<Users>(); 
user.add(u1);
user.add(u2);
user.add(u3);
我把集合存进了session中,
我用
session.setAttribute("u",user);
但是现在我在jsp页面用如下的方法却出现异常!<% List<Users>  user=new  ArryList<Users>();   user=(list)session.getAttribute("user");   
 %><%  for(Users u:user){   %>
         
<li> <%u.getName()%></li>
<li> <%u.getPwd()%></li>
<li> <%u.getState()%></li><%
}
%>
那位牛人给说下我错在那里了,在顺便说下用struts2的标签怎么去取!

解决方案 »

  1.   

    你用的是“session.setAttribute("u",user);”但你在取的时候用的是“user=(list)session.getAttribute("user"); ”,所以你取不到。在Struts2中可以用<s:iterator >标签去取,s:iterator 的具体用法可以参考struts2的s:iterator标签详解 
      

  2.   

    user=(list)session.getAttribute("u");   
      

  3.   

    嗯,好吧,谢谢,我大意了写错了,我会用struts2的标签可是把集合存进session中一直迭代不出来,但是放在request中却可以迭代,不知到这是为什么?
    还有就是把struts.xml配置文件中的<result></result>节点加一个type="redirect"用session就可以取值了?为什么重定向后session才可以取值?
      

  4.   

    LZ取值的时候改成session.getAttribute(u);
    至于struts标签取值,可以这样!
    <s:iterator  value="user" id=u" status="tpls">
        <tr>
          <td><s:property value="#tpls.count" /></td>
          <td>${name }</td>
          <td>${pwd}</td>
          <td>${state}</td>
    </tr>
      

  5.   

    转换错误时因为你(list)应该是(List),更标准的写法是(List<Users>)
      

  6.   

    user=(list)session.getAttribute("user"); 
    改为
    user=(list)session.getAttribute("u"); 
    可以用<s:iterator >标签去取 ,先引入标签库
      

  7.   

    引入 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <c:forEach var="i" items="${u}">
    <li>${i.name}</li> 
     </c:forEach>