【问题标题】:Loop through an ArrayList in a Servletcontext遍历 Servlet 上下文中的 ArrayList
【发布时间】:2014-07-21 17:48:17
【问题描述】:

我得到了BlogPosts 中的arrayList,我想在屏幕上显示对象的内容。
我从ServletContext 读取了我的ArrayList 并带有以下输出:

 [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");

【问题讨论】:

    标签: java servlets arraylist


    【解决方案1】:

    它使用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());
            }
        }
    

    【讨论】:

    • 我添加了我的 BlogPost 类,你能帮我看看如何显示博客文章的所有内容吗?
    • 谢谢!你能告诉我如何在我的 JSP 页面中显示结果吗?
    • 您可以在请求中将其设置为属性,将请求转发到 JSP 并在那里访问它。谷歌pass data from servlet to JSPSample.
    猜你喜欢
    • 2013-12-26
    • 2015-11-28
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多