不能在JSP中显示bean的arraylist

时间:2014-01-27 22:59:49

标签: java jsp arraylist javabeans

我从servlet收到一个Arraylist。 这是我的JSP页面的代码

<%
String bgcolor="";
int count=0;
List  viewList = new ArrayList();
Iterator  viewItr;
Iterator itr;
if(request.getAttribute("userList")!=null && request.getAttribute("userList")!="")
{
    List<Zone> userList =  (List<Zone>)request.getAttribute("userList");
     itr = userList.iterator();
    while(itr.hasNext())
    {

        if(count%2==0)
        {
         bgcolor = "#C8E2D1";
        }
        else
        {

            bgcolor = "#EAF8EF";
        }


        viewList = (ArrayList)itr.next();
        int id = Integer.parseInt(viewList.get(0).toString());

        viewItr = viewList.iterator();
        %>

        <tr style="background-color:<%=bgcolor%>;">
        <%  
        while(viewItr.hasNext())
        {

            %>
            <td><%=viewItr.next()%></td>

            <%

        }
        count++;
        %>

我收到一个错误,它说bean.Zone不能被转换为arraylist, 错误在第**viewList = (ArrayList)itr.next();**行 谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

我认为你有区域对象,不是Arraylist 。这就是你无法施展的原因。

您已经在迭代区域列表,并且需要转换为区域对象

Zone viewList = new Zone();

viewList = (Zone)itr.next();

答案 1 :(得分:1)

这里有几个错误。

    {li> request.getAttribute("userList")!=""if中出错了。你不应该将List与空字符串进行比较。
  • 你正在迭代List<Zone>,所以当你调用itr.next()时,你会得到一个Zone而不是一个ArrayList。

所以你的第二个while在这里无效。您可能需要从Zone获取并显示属性。