[英]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.