我有一个 ArrayList 的 ArrayList - 我以这种方式声明它:
ArrayList<ArrayList<String>> queryResult=new ArrayList<ArrayList<String>>();
然后我向数组中添加一个新元素,如下所示:
for(int i=1;i<colNumber;i++)
{
queryResult.add(new ArrayList<String>(20));
}
之后,我向数组元素添加一个值:
while(r.next())
{
for(int i=0;i<colNumber;i++)
{
queryResult.get(i).add(r.getString(i));
}
}
但是当我尝试在 DataTable 标记中使用它时,我什么也看不到:(
<h:dataTable value="#{polaczenieSQL.queryResult}" var="w">
<h:column>
<f:facet name="head">typ</f:facet>
#{w[0]}
</h:column>
我做错了什么?我应该如何在 JSF 中使用这个数组?
PS这是我的faces.config:
<managed-property>
<property-name>queryResult</property-name>
<property-class>java.util.ArrayList</property-class>
<list-entries></list-entries>
</managed-property>
我发现了第一个问题:
r.getString(i)
我添加了一个
System.out.print("something")
循环后,但它不想打印。
当我更改变量“i”并键入例如: 4 我在控制台上看到“某物”。变量 'colNumber' 设置为 5(但我的 sql 表有 7 列,我使用“select * from mytable”,所以我不认为这是一个计数器问题)。