循环遍历Servletcontext中的ArrayList

时间:2014-06-01 13:41:52

标签: java servlets arraylist

我得到arrayList BlogPosts,我想在屏幕上显示对象的内容。
我使用此输出从ArrayList读取了ServletContext

 [com.example.week3.BlogPost@58d100c8, com.example.week3.BlogPost@5baade52]

我在哪里以及如何阅读此内容?

这是我的BlogPost课程:

package com.example.week3;

import java.io.Serializable;

public class BlogPost implements Serializable{
    private String blogtext;

    public BlogPost(String bt) {
       blogtext = bt;
    }

    public String getBlogtext() {
        return blogtext;
    }

}

这是我存储我的列表的地方

Object o = getServletContext().getAttribute("blogpost");

1 个答案:

答案 0 :(得分:0)

它使用Object的默认toString()方法实现。

public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

所以你得到像com.example.week3.BlogPost@58d100c8这样的输出。当您遍历ArrayList时,需要将其强制转换为BlogPosts对象,并使用getter方法或覆盖toString()来显示其内容。

你可以做到

    Object o = getServletContext().getAttribute("blogpost");

    if( o instanceof ArrayList) {
        List blogList = (ArrayList) o;
        for(Object blog : blogList){
            BlogPost blogPost = (BlogPost) blog;
            System.out.println(blogPost.getBlogtext());
        }
    }