【问题标题】:cannot display arraylist of bean in JSP无法在 JSP 中显示 bean 的数组列表
【发布时间】:2014-01-27 22:59:49
【问题描述】:

我从我的 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();** 行 谢谢你的帮助

【问题讨论】:

  • 你得到 List 的,所以应该是 Zone zone = (Zone)itr.next
  • 是的,编译器在这里很清楚。你有一个充满 ArrayLists 的 List 吗?

标签: java jsp arraylist javabeans


【解决方案1】:

我认为你有一个 Zone 对象,不是 Arraylist。这就是你不能投的原因。

您已经在迭代 Zone 列表,并且需要强制转换为 Zone 对象

Zone viewList = new Zone();

viewList = (Zone)itr.next();

【讨论】:

    【解决方案2】:

    这里有几个问题。

    • request.getAttribute("userList")!=""if 中是错误的。您不应将 List 与空字符串进行比较。
    • 您正在迭代 List&lt;Zone&gt;s,因此当您调用 itr.next() 时,您将获得 Zone 而不是 ArrayList。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      相关资源
      最近更新 更多