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
[code]/*
- 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);
}
}[/code]
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
1 titulo3 texto3
2 titulo3 texto3
3 titulo3 texto3
Agradeço qualquer ajuda;
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - marcossousa[/color][/size] :joia: