Meu bean é do tipo request e o retorno do método “consultaBean.consulta” é um ArrayList
L
leonardobhbr
Amigo a unica coisa q eu vi q ta diferente do q eu uso é q vc colocou o rich:datascroller dentro do rich:datatable e eu uso ele fora do rich.
E outra coisa amigo cuidado com nomes iguais heim vc colocou o id do datatable como “lstConsulta”
e no var vc ta utilizando o mesmo nome não é aconselhável no mais parece ta de boa
W
w1l14n
Pois é.
Já procurei em um monte de lugar e nada.
Meu resultado fica assim:
<< << << 1 2 >> >> >>
Só que nada ativo.
Com isso, mostra apenas a primeira página.
L
leonardobhbr
vc ja tirou o seu scroller de dentro do rich:datatable igual te falei?
W
w1l14n
Tire e não mudou nada, alterei o nome do var da tabela.
Me falaram sobre o keepalive… só que não entendi muito.
L
leonardobhbr
Outra coisa tbem que eu pretei atenção agora q vc falou q seu bean é de request, deve ser isso mesmo
pois o codigo jsf esta de boa
Seguinte quando vc clica para ir para a pagina 2 ele faz uma requisição ajax e logo destroi o seu bean e cria outro
sobre o keepAlive é isso mesmo vc tera q usar ele so q como eu utilizo o spring ele funfa direito com ele logo nao funciona, e não tenho um bom conhecimento sobre ele tbem
W
w1l14n
Leonardo obrigado pela ajuda.
Só que eu não consigo clicar para ir na página 2… este é o meu problema.
A informação é exibida na tela, mas não é um link… apenas um texto comum.
W
w1l14n
Depois da sua ajuda, meu código está desta forma e ainda não funciona! :evil:
voce já tentou criar seu bean com o escopo de sessão?
W
w1l14n
Side… fiz o teste e tbm não funcionou.
J
jaspionrox
amigo, tente o seguinte:
na propriedade reRender do rich:datascroller, coloque o id do seu outputpanel.
[]s
obs: não retire o keepAlive do seu código.
W
w1l14n
Fiz o teste e não funcionou.
Já procurei em tudo que é lugar… mas sem sucesso.
Não sei para onde caminhar.
J
jaspionrox
ai vai um trecho de código pra vc ver:
<a4j:keepAlivebeanName="plantaBean"/><rich:panelid="pnlPlantas"styleClass="pnlDados"><f:facetname="header"><h:outputTextvalue="Plantas Cadastradas"/></f:facet><rich:dataTableid="dtPlantas"value="#{plantaBean.plantasList}"var="planta"rows="10"><rich:columnsortBy="#{planta.nome}"><f:facetname="header"><h:outputTextvalue="Nome da Planta"/></f:facet><h:outputTextvalue="#{planta.nome}"/></rich:column><rich:columnsortBy="#{planta.cerca.nome}"><f:facetname="header"><h:outputTextvalue="Nome da Cerca"/></f:facet><h:outputTextvalue="#{planta.cerca.nome}"/></rich:column><rich:column><f:facetname="header"><h:outputTextvalue="Editar"/></f:facet><a4j:region><a4j:commandLinkactionListener="#{plantaBean.prepareEditPlanta}"reRender="pnlCadastro"><h:graphicImagevalue="/img/edit.png"alt="Editar."styleClass="imgBorder"/><f:paramid="idPlantaEdicao"name="idPlantaEdicao"value="#{planta.id}"/></a4j:commandLink><h:inputHiddenvalue="#{plantaBean.edicao}"id="hiddenIdParametro"/></a4j:region></rich:column><rich:column><f:facetname="header"><h:outputTextvalue="Excluir"/></f:facet><a4j:region><a4j:commandLinkactionListener="#{plantaBean.deletePlanta}"reRender="pnlCadastro, pnlPlantas"onclick="javascript:if(!confirm('Deseja realmente excluir a Planta?'))return false;"><h:graphicImagevalue="/img/delete.gif"alt="Excluir."styleClass="imgBorder"/><f:paramid="idPlantaExclusao"name="idPlantaExclusao"value="#{planta.id}"/></a4j:commandLink></a4j:region></rich:column><f:facetname="footer"><rich:datascrollerrenderIfSinglePage="true"reRender="pnlPlantas"ajaxSingle="true"/></f:facet></rich:dataTable></rich:panel>
quando vc clica na segunda pagina chega a fazer a requisição? eu vejo isso pelo firegub do firefox, se a requisição eh feita, mas a tela nao atualiza, eh falta de dar reRender em alguma coisa, ou talvez o scroller está validando algum form e não está terminando a requisição certa..
[]s
W
w1l14n
O meu problema é que nem os links das próximas páginas são ativados.
Ele gera todas as páginas, por exemplo:
<< << << 1 2 >> >> >>
Aparece do jeito que está aí acima… só que não está em forma de link.
Pelo que já vi é o seguinte, ele gera todas as páginas só que não consigo ir para a página seguinte.
W
w1l14n
Estou apanhando feio para fazer funcionar.
Alguém poderia me ajudar???
Já li um monte de informação na internet e nada. Já peguei exemplos que “funcionam”, com implementações iguais a minha e nada de funcionar.
VLW galera.
D
diasnovo
w1l14n:
Estou apanhando feio para fazer funcionar.
Alguém poderia me ajudar???
Já li um monte de informação na internet e nada. Já peguei exemplos que “funcionam”, com implementações iguais a minha e nada de funcionar.
public void setScroller(UIDatascroller scroller)
{
this.scroller = scroller;
}
…
C
carolino
w1l14n você conseguiu resolver seu problema?
To sofrendo com isso também
Se tiver solucionado teria como vc postar aki pra eu ver?
vlw
S
stone010
no web.xml setar facelets.BUILD_BEFORE_RESTORE, como false.
C
carolino
na verdade consegui resolver o problema configurando o .page.xml da minha view hehe
mas obrigado pela alternativa amigo
abraços \o
S
stone010
sei que já faz um tempinho, mas se tiver fácil ai, pode postar essa alteração que você fez, por gentileza? obrigado!
C
carolino
claro posso sim amigo
mas pode ser amanha?
é q o projeto ta la no meu serviço… dai chegando amanha la ja posto aki,
mas enquanto isso veja se esse post te ajuda
o erro no meu page era que além desse begin q tava ai
tinha outro <begin conversation. apenas removi e deixei dessa forma,
agora funciona normalmente
P
pretourian
Ola todos, estou com mesmissimo problema. Ao navegar pela paginaçao do rich:scroller o conteudo da minha tabela nao atualiza. Perém ao clicar no cabeçalho de qualquer coluna pra fazer o “Sort by” o conteudo é atualizado. Segue ai minha pagina e MB. O bean scope é do tipo session. O que devo fazer? Ja tentei usar o <a4j:keepAlive beanName="dataScrollerBean" ajaxOnly="true"/> mas tudo que consigo é um nulPointerException e erro de conversão SelectItem.
O JSP
<%@pagecontentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><%@tagliburi="http://richfaces.org/a4j"prefix="a4j"%><%@tagliburi="http://richfaces.org/rich"prefix="rich"%><html><head><title>Consultapessoa</title><linkrel="stylesheet"type="text/css"href="../css/estilo.css"/></head><body><f:view><h:formid="frm"><h1><h:outputTextvalue="Cadastrados"/></h1><h:messageslayout="table"showSummary="true"showDetail="false"globalOnly="true"styleClass="msgErro"infoClass="msgInfo"style="font-weight: bold"/><rich:dataTableid="pessoas"value="#{consultaPessoaBean.pessoas}"var="item"width="790px"rows="2"><rich:columnsortBy="#{item.nome}"width="200px"><f:facetname="header"><h:outputTextvalue="Nome"/></f:facet><h:outputTextvalue="#{item.nome}"/></rich:column><rich:columnsortBy="#{item.tipo}"width="80px"><f:facetname="header"><h:outputTextvalue="Tipo"/></f:facet><h:outputTextvalue="#{item.tipo}"/></rich:column><rich:columnsortBy="#{item.email}"width="200px"><f:facetname="header"><h:outputTextvalue="Email"/></f:facet><h:outputTextvalue="#{item.email}"/></rich:column><rich:columnsortBy="#{item.telefone}"width="50px"><f:facetname="header"><h:outputTextvalue="Telefone"/></f:facet><h:outputTextvalue="#{item.telefone}"/></rich:column><rich:columnwidth="40px"style="text-align: center"><f:facetname="header"><h:outputTextvalue="Ações"/></f:facet><h:commandLinkaction="#{consultaPessoaBean.excluir}"><f:setPropertyActionListenervalue="#{item}"target="#{consultaPessoaBean.pessoaExclusao}"/><h:graphicImagevalue="/imagens/excluir.png"title="Excluir"styleClass="imagemLink"/></h:commandLink><h:commandLinkaction="cadastroPessoa"><f:setPropertyActionListenervalue="#{item}"target="#{cadastroPessoaBean.pessoaEdicao}"/><h:graphicImagevalue="/imagens/editar.png"title="Editar"styleClass="imagemLink"/></h:commandLink></rich:column></rich:dataTable><rich:datascrollerfor="pessoas"maxPages="20"align="left"reRender="pessoas"/><br/><h:commandLinkaction="#{cadastroPessoaBean.inicializar}"styleClass="linkComEspaco"><h:outputTextvalue="Nova pessoa"/></h:commandLink><h:commandLinkaction="menu"><h:outputTextvalue="Menu do sistema"/></h:commandLink></h:form></f:view></body></html>
Managed Bean
packagecom.visao;importcom.dominio.Pessoa;importcom.negocio.PessoaService;importcom.negocio.RegraNegocioException;importjava.util.ArrayList;importjava.util.List;importjavax.faces.application.FacesMessage;importjavax.faces.context.FacesContext;importjavax.faces.event.ActionEvent;/** * * @author Boss */publicclassConsultaPessoaBean{privatePessoapessoaExclusao=newPessoa();privateList<Pessoa>pessoas=newArrayList<Pessoa>();publicvoidconsultar(ActionEventevent){this.pessoas=newPessoaService().listarTodas();}publicStringexcluir(){FacesContextcontext=FacesContext.getCurrentInstance();try{newPessoaService().excluir(this.pessoaExclusao);this.pessoas.remove(this.pessoaExclusao);this.pessoaExclusao=null;FacesMessagemsg=newFacesMessage("Excluído com sucesso!");msg.setSeverity(FacesMessage.SEVERITY_INFO);context.addMessage(null,msg);}catch(RegraNegocioExceptione){context.addMessage(null,newFacesMessage(FacesMessage.SEVERITY_ERROR,e.getMessage(),e.getMessage()));}catch(Exceptione){e.printStackTrace();FacesMessagemsg=newFacesMessage("Erro inesperado ao tentat excluir!");msg.setSeverity(FacesMessage.SEVERITY_ERROR);context.addMessage(null,msg);}returnnull;}publicList<Pessoa>getPessoas(){returnpessoas;}publicPessoagetPessoaExclusao(){returnpessoaExclusao;}publicvoidsetPessoaExclusao(PessoapessoaExclusao){this.pessoaExclusao=pessoaExclusao;}}
C
carolino
pretourian,
Dentro do seu richDataScroller você tem um componente que é pageIndex… alguma coisa assim
não me lembro mto bem agora, mas através dele você pode informar qual index deseja ver…
Para manipular esse componente você pode setar uma variável int dentro do seu bean