Olá pessoal …
Estou iniciando o uso de richfaces com JSF Facelets rodando no Jboss 5 … E tenho uma aplicação bem simples, na qual tenho um formulário com alguns campos. Submetido esse formulário uma outra área da mesma Página sobre um reRender.
O que acontece é que na execução da aplicação o Jboss me dá um WARNING:
Sem problema… Identifiquei o que preciso acrescentar no arquivo web.xml, mas quando acrescento essas propriedades. O reRender não funciona mais, tenho que clicar duas vezes sobre o botão ou link para exibir as informações.
Alguém já passou por isso que poderia me ajudar ?
index.xhtml
[code]<?xml version='1.0' encoding='UTF-8' ?>
Pesquisa
#{item.titulo}
[/code]
qual a versão do JSF?
se for a 2.0, pode deixar o RichFaces para mais pra frente, ainda não está pronto para o JSF 2.0… neste caso use o PrimeFaces 2.x (mais leve, mais fácil de programar)
Olá andii.brunetta,
To usando a versão JSF 1.2 … Mas vou dar uma olhada na sua sugestão PrimeFaces … Já perdi um bocado de tempo por causa desse problema.
muito obrigado…
Cara duas sugestões :
1º
Ao invés disso
<a4j:commandLink action="#{indexBean.paginador.acessaPagina}" value=" #{numPage} ">
<a4j:actionparam value="#{numPage}" assignTo="#{indexBean.paginador.pageAtual}" />
<a4j:support event="onclick" reRender="painelConteudo" />
</a4j:commandLink>
Você pode usar isso : reRender=“painelConteudo” direto no commandLink
<a4j:commandLink action="#{indexBean.paginador.acessaPagina}" value=" #{numPage} " reRender="painelConteudo" >
<a4j:actionparam value="#{numPage}" assignTo="#{indexBean.paginador.pageAtual}" />
</a4j:commandLink>
Outra coisa que geralmente dá problema no JSF 1.* é a questão de misturar tags JSTL com JSF elas não tem um sincronismo legal, até pela questão de serem de ciclo de vidas diferentes, etc e tals:
- Ao inves do for each use o a4j:repeat
- Ao inves de c:if use a tag rendered
Olhando assim por cima acredito que o problema não está no RichFaces em si, mas sim na forma como a página está estruturada, e como você esta utilizando o jsf.
Dá uma olhada nos exemplos do richfaces de repente pode te ajudar a entender melhor funcionamento + codigo:
http://livedemo.exadel.com/richfaces-demo/richfaces/dataTableScroller.jsf?c=dataTableScroller&tab=usage
Apresentação legal do Rafael Ponte que tem umas dicas de JSF também:
http://www.slideshare.net/rponte/os-10-maus-hbitos-dos-desenvolvedores-jsf-presentation
Valeu Eduardo …
Era esse o problema muito obrigado pelas orientações e dicas …
Problema resolvido.
Valeu…
Boa tarde!
Estou com um problema parecido.
Tenho uma pagina de login:
<h:form id="form">
<rich:panel id="painelLogin" rendered="#{!loginBean.esqueceuSenha}">
<fieldset class="fieldsetLogin">
<legend>Login</legend>
<h:outputLabel for="login" value="Login:" />
<h:inputText id="login" value="" />
<br />
<h:outputLabel for="senha" value="Senha:" />
<h:inputSecret id="senha" value="" />
<br />
<div class="botoes">
<h:commandButton id="bntEntrar" value="Entrar" />
<h:commandButton id="bntLembrar" value="Lembrar" actionListener="#{loginBean.lembrarSenha}" />
</div>
<br />
</fieldset>
</rich:panel>
<rich:panel id="painelLembrarSenha" rendered="#{loginBean.esqueceuSenha}">
<fieldset class="fieldsetLogin">
<legend>Lembrar senha</legend>
<h:outputLabel for="email" value="Informe seu email:" />
<h:inputText id="email" value="" />
<h:commandButton id="bntEnviar" value="Enviar" actionListener="#{loginBean.enviarLembrete}" />
<br />
</fieldset>
</rich:panel>
</h:form>
Por enquanto o que interessa são os botões de “Lembrar Senha” e “Enviar Lembrete”.
Meu Bean:
public class LoginBean
{
private boolean esqueceuSenha = false;
public boolean isEsqueceuSenha()
{
return esqueceuSenha;
}
public void lembrarSenha(ActionEvent event)
{
System.out.println("lembrarSenha");
this.esqueceuSenha = true;
}
public void enviarLembrete(ActionEvent event)
{
System.out.println("enviarLembrete");
this.esqueceuSenha = false;
}
}
Quando clico no botão “Lembrar senha” o Bean é acessado normalmente, printa o syso e retorna para a pagina renderizando o campo e botão para enviar o lembrete, porém quando clico no botão “Enviar Lembrete” nada acontece, o botão não faz a chamada ao método enviarLembrete() no bean.
Já passaram por isso?
Passando por aqui … para agradecer a andii.bruneta … pela dica Primefaces… show de bola …
Mas to tendo um dificuldade com o primefaces … vou abrir um tópico … para essa nova …