Olá,
Estou utilizando JSF MyFaces em uma aplicacao web e nao consegui implementar uma dataTable q funcione, o meu Bean esta gerando uma lista de resultados (List) de uma tabela, mas na hora de mostrar os campos na dataTable a lista nao é iterada corretamente, mostrando sempre o ultimo row repetidamente.
Os codigos:
GeraListaBean.java
/*
* GeraListaBean.java
*
* Created on June 29, 2006, 1:14 PM
*/
package db_beans;
import java.beans.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import util.DataBaseIO;
/**
* @author Danilo
*/
public class GeraListaBean extends Object implements Serializable {
//
private ArrayList lista;
private PropertyChangeSupport propertySupport;
private DataBaseIO db_diario = new DataBaseIO();
public GeraListaBean() {
propertySupport = new PropertyChangeSupport(this);
lista=new ArrayList();
}
public List getLista() {
//
NoticiaBean noticia = new NoticiaBean();
if(lista.size()==0) {
//
for (int i =1; i <4; i++) {
//
Integer aux = new Integer(i);
String num = new String(aux.toString());
noticia.setTitulo(db_diario.readDatabase("noticias_antigas", "titulo", num));
noticia.setTexto(db_diario.readDatabase("noticias_antigas", "texto", num));
System.out.println(this.getClass().toString() + "::getLista -> Adicionou: " );
System.out.println(this.getClass().toString() + "::getLista -> Titulo: " + noticia.getTitulo());
System.out.println(this.getClass().toString() + "::getLista -> Texto: " + noticia.getTexto());
lista.add(noticia);
}
}
return lista;
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
propertySupport.addPropertyChangeListener(listener);
}
public void removePropertyChangeListener(PropertyChangeListener listener) {
propertySupport.removePropertyChangeListener(listener);
}
}
Codigo JSP:
<div id="paineldata" style="position:absolute; left:191px; top:730px; width:368px; height:220px; z-index:1; overflow: hidden; visibility: inherit;">
<h:form>
<t:dataTable id="data"
styleClass="scrollerTable"
headerClass="standardTable_Header"
footerClass="standardTable_Header"
columnClasses="columna_abajoderecha,columna_abajoderecha,columna_abajo"
var="noticias"
value="#{geraListaBean.lista}"
preserveDataModel="true"
rows="10">
<h:column>
<f:facet name="header">
<h:outputText value="Titulo" />
</f:facet>
<h:outputText value="#{noticias.titulo}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Texto" />
</f:facet>
<h:outputText value="#{noticias.texto}" />
</h:column>
</t:dataTable>
</h:form>
</div>
Resutltado listado:
Os resultados listados deveriam ser
tiutlo1, titulo2, titulo3, texto1, texto2, texto3,
mas o ultimo registro aparece 3X repetidos.
id titulo texto
Agradeço qualquer ajuda;