下面是将List 转换为二维数组方法:
在jsp页面能取出这个数组并且是正确的,可是就是不能用struts <logic:iterate>List出来,为什么呀??????????????? public String[][] getRecords(String jdbcname)
{
List rlist=getArrList(jdbcname);
String[][] rcds=null;
//Convert List to Array.
if (!rlist.isEmpty())
{
int rows=rlist.size();
int cols=((Map)rlist.iterator().next()).size();
rcds=new String[rows][cols];
for (int i=0;i<rows;i++)
{
Map Rrows=(Map)rlist.get(i);
for (int j=0;j<cols;j++)
{
rcds[i][j]=(String)Rrows.get(fields[j]);
}
}
}
try{ }
catch(Exception e){System.out.println(e.toString());}
return rcds;
}
在jsp页面能取出这个数组并且是正确的,可是就是不能用struts <logic:iterate>List出来,为什么呀??????????????? public String[][] getRecords(String jdbcname)
{
List rlist=getArrList(jdbcname);
String[][] rcds=null;
//Convert List to Array.
if (!rlist.isEmpty())
{
int rows=rlist.size();
int cols=((Map)rlist.iterator().next()).size();
rcds=new String[rows][cols];
for (int i=0;i<rows;i++)
{
Map Rrows=(Map)rlist.get(i);
for (int j=0;j<cols;j++)
{
rcds[i][j]=(String)Rrows.get(fields[j]);
}
}
}
try{ }
catch(Exception e){System.out.println(e.toString());}
return rcds;
}
Action中写:
String Arr[][]=new String[2][2];
Arr[0][0]="1";
Arr[0][1]="A";
Arr[1][0]="2";
Arr[1][1]="B";
session.setAttribute("Conts",Arr);
JSP内容一点都不用改就可行:
<table width="90%" border=1 cellspacing=0 cellspadding=0 align=center>
<logic:iterate id="conts" name="Conts" indexId="index">
<tr>
<logic:iterate id="cont" name="conts" indexId="in" offset="0">
<td><bean:write name="cont"/></td>
</logic:iterate>
</tr>
</logic:iterate>
</table>运行后输出:
1 A
2 B