Pessoal, alguém pode me dar uma luz do porque de não estar retornando nada na minha DATATABLE com este código aí embaixo:
Detalhe: se eu carrego a lista dentro do getLsFactory funciona… Mas eu quero fazer a consulta uma vez só…
MENAGED BEAN:
package draftSample.beans;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import drafSample.db.MyConnection;
import draftSample.classes.Factory;
public class HotSiteIniBean {
private List<Factory> lstFactory;
public HotSiteIniBean() {
this.lstFactory = new ArrayList<Factory>();
this.lstFactory = getLista();
}
public List<Factory> getLista() {
List<Factory> lst = new ArrayList<Factory>();
try {
Connection con = new MyConnection().getCon();
Statement stmt = con.createStatement();
ResultSet rs;
rs = stmt.executeQuery("...");
while ( rs.next() ) {
Factory fct = new Factory();
fct.setCdFactory( rs.getString(1) );
fct.setDsFactory( rs.getString(2) );
lst.add(fct);
}
con.close();
} catch (Exception e) {
e.printStackTrace();
}
return lst;
}
public List<Factory> getLstFactory() {
return lstFactory;
}
public void setLstFactory(List<Factory> lstFactory) {
this.lstFactory = lstFactory;
}
}
JSP:
<ice:dataTable id="data"
value="#{hotSiteIniBean.lstFactory}"
var="dst"
rows="10"
styleClass="dataScrollerTable"
columnClasses="column1,column2"
columnWidths="20,200">
<ice:column >
<f:facet name="header">
<ice:commandSortHeader columnName="cdFactory" arrow="true">
<ice:outputText value="Codigo" />
</ice:commandSortHeader>
</f:facet>
<h:outputText value="#{dst.cdFactory}" />
</ice:column>
<ice:column >
<f:facet name="header">
<ice:commandSortHeader columnName="dsFactory" arrow="true">
<ice:outputText value="Nome" />
</ice:commandSortHeader>
</f:facet>
<h:outputText value="#{dst.dsFactory}" />
</ice:column>
</ice:dataTable>