繁体   English   中英

循环数组java的Arraylist

[英]Looping Arraylist of Arrays java

我在模型中有一个方法可以从结果集中创建一个ArrayList数组,我需要从jsp中将其交叉,我无法做任何帮助?

这是arraylist的代码

    public ArrayList listar(){

    String sql="select * from eventos";
    ArrayList lista=new ArrayList();
    try {
        st=con.createStatement();
        rs=st.executeQuery(sql);

        int NumColumnas=getRows(rs);

        while(rs.next()){
            String Fila[]=new String [NumColumnas];   
            for(int x=0;x<NumColumnas;x++){
                Fila[x]=rs.getObject(x+1).toString();
            }
             lista.add(Fila);
        }

    } catch (SQLException ex) {
        Logger.getLogger(EventosBean.class.getName()).log(Level.SEVERE, null, ex);
    }
    return lista;
}

在jsp中,我有此代码,并以以下格式返回了值[Ljava.lang.String; @ 39dc94a4 [Ljava.lang.String; @ 5d013b69

    EventosBean ev=new EventosBean();
    ArrayList<EventosBean>arrayList=ev.listar();
    out.println(arrayList.size());
    Iterator<EventosBean> iterator = arrayList.iterator();
    while (iterator.hasNext()) {    
        out.println(iterator.next());
    }

您需要在http servlet请求中设置属性,并在jsp中使用它:

/ ** Java控制器* /

request.setAttribute("events", lista);

/ ** JSP * /

List<String> events = (List<String>) request.getAttribute("events");

出了点问题。 在您的listar方法中,您将返回ArrayList ArrayList包含String[]类型的对象。 您正在ArrayList<EventosBean>中捕获此输出,该输出需要ArrayList<EventosBean>类型的EventosBean

如果要打印JSP上listar返回的ArrayList添加的String[]内容,请对代码进行一些更改,如下所示。

public ArrayList<String[]> listar(){

    String sql="select * from eventos";
    ArrayList<String[]> lista=new ArrayList<String[]>();
    try {
        st=con.createStatement();
        rs=st.executeQuery(sql);

        int NumColumnas=getRows(rs);

        while(rs.next()){
            String Fila[]=new String [NumColumnas];   
            for(int x=0;x<NumColumnas;x++){
                Fila[x]=rs.getObject(x+1).toString();
            }
             lista.add(Fila);
        }

    } catch (SQLException ex) {
        Logger.getLogger(EventosBean.class.getName()).log(Level.SEVERE, null, ex);
    }
    return lista;
}

在你上课的地方叫listar

EventosBean ev=new EventosBean();
ArrayList<String[]> arrayList=ev.listar();
out.println(arrayList.size());
for(String[] strArray : arrayList){
    String str="";
    for(String str1: strArray)
      str=str+" "+str1;

    out.println(str);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM