Dúvida RichFaces

4 respostas
A

Galera, estou fazendo um projeto com rich faces e estou usando os componentes dataTable com o dataScroller. Ele mostra a paginação corretamente mas ao clicar em uma outra página o dataTable fica vazio. Segue o código:

<a4j:form ajaxSubmit="true">
<a4j:outputPanel>
	<rich:dataTable value="#{noticiaFormBean.noticias}" var="noticia" id="listaNoticias" rows="5">
		
			<f:facet name="header">
				
					<h:outputText value="Código"/>
			
			</f:facet>
			<rich:column>
				<h:outputText value="#{noticia.codigo}"/>
			</rich:column>		
		<f:facet name="footer">
			<rich:datascroller for="listaNoticias" maxPages="20"></rich:datascroller>
		</f:facet>
	</rich:dataTable>
</a4j:outputPanel>
</a4j:form>

E o bean:

import java.util.ArrayList;
import java.util.List;

import br.com.ap.beans.Noticia;
import br.com.ap.daos.DAOGenerico;

public class NoticiaFormBean {
	
	private int pagina = 0;
	
	private List<Noticia> noticias = new ArrayList<Noticia>();
	public int getPagina() {
		return pagina;
	}
	
	public void setPagina(int pagina) {
		this.pagina = pagina;
	}
	

	public List<Noticia> getNoticias() {
		return noticias;
	}

	public void setNoticias(List<Noticia> noticias) {
		this.noticias = noticias;
	}

	
	public String execute() {
		this.noticias = new DAOGenerico(Noticia.class).localizarTudo();
		
		return "success";
	}
}

Obs.:open_mouth: Managed Bean está mapeado para o nível request.

Alguém tem alguma idéia do que possa estar acontecendo ?

4 Respostas

overkill

Pelo que vejo ele só carrega a lista quando é chamado o método execute !!!

tente

public List&lt;Noticia&gt; getNoticias() {  

         execute();
         return noticias;  
}

acho que ele nao esta carregando a lista quando muda o datascroller testa pra ver.

A

Na mosca!!! Funcionou tranquilo!!! Obrigado!!!

overkill

o que acontece no modo request ele nao mantem o estado inicial da lista uma boa pratica de implementacao seria coloca o conteudo do execute() dentro do get da lista entao toda a vez que fazer o get ele ira preencher a lista como desejado.

Abraço

A

Muito obrigado cara!! Ajudou bastante mesmo!

Criado 30 de dezembro de 2008
Ultima resposta 31 de dez. de 2008
Respostas 4
Participantes 2