java数组的循环Arraylist

java数组的循环Arraylist,java,arrays,jsp,arraylist,javabeans,Java,Arrays,Jsp,Arraylist,Javabeans,我在模型中有一个方法,它从一个resultset创建一个ArrayList数组,我需要的是从jsp跨越它,我做不到,有什么帮助吗 这是arraylist的代码 public ArrayList listar(){ String sql="select * from eventos"; ArrayList lista=new ArrayList(); try { st=con.createStatement(); rs=st.exe

我在模型中有一个方法,它从一个resultset创建一个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[]类型的obejcts。您正在ArrayList中捕获此输出,该ArrayList需要EventosBean类型的对象

若您希望在JSP上打印listar返回的ArrayList中添加的字符串[]的内容,请对代码进行一些更改,如下所示

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;
}

谢谢,但是在连接中返回错误,为了编译方法join String[],如果我删除StringUtils类型并同意索引strArray[1],String是未定义的同意记录的id,这也是错误的…我想需要另一种方法来做。是的,我知道,为了简单起见,我直接从jsp访问,不需要从servlet传递。
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);
}