Botão Pesquisar JSF

2 respostas
V

Boa noite, estou começando um projeto com JSF e já estou com um problema que não consigo resolver.
Seguinte:
Preciso que as páginas de CRUD do projeto tenham os campos do formulário na parte superior, logo abaixo dos campos, os botões: salvar e pesquisar, estou usando hibernate 3, JSF 1.1 e mySql 5.

Quando clico no botão salvar, os dados do formulário são enviados corretamente para o ManagedBean e salvos via hibernate, tranquilo, são feitas as validações e verificações de campos obrigatórios (required) e as mensagens são exibidas. Pra salvar funciona certinho, o problema está para pesquisar.
O usuário pode preencher qualquer campo do formulário e clicar em pesquisar. Eu estava esperando que as validações fossem ignoradas, logo coloquei immediate=“true” neste botão de pesquisa, mas com isto os valores do formulário não vão para o ManagedBean.
Tenho passado os últimos dias procurando uma solução para isto, e já tentei todas que encontrei, as que chegaram mais próximo diziam o seguinte:
Incluir nos inputs o valueChangeListener para recuperar o valor do campo, antes da validação, isto até dá certo, com excessão dos campos required que continuam não funcionando.

Alguém já passou por isto, ou pode me ajudar? Já não sei mais o que fazer…

Obrigado

2 Respostas

V

Olá pessoal, resolvi fazer com duas páginas mesmo. Uma para manutenção e outra para pesquisa.
Pesquisei bastante e achei algumas soluções, mas nenhuma me agradou. As melhores foram: criar 2 forms e o virtual form, mas…
O Virtual Form não atende, pois ou eu adiciono ou retiro os campos, fica parecido com o immediate. A criação de 2 forms na mesma página resolve, mas além de me parecer uma gambiarra, ainda pro usuário vão parecer duas páginas, então resolvi criar duas mesmo.

Até mais.

johnnycoppini

Estou passando pelo mesmo problema e até agora não encontrei solucao…

O que eu consegui perceber é que quando o immediate=true, o getFacesContext().renderResponse(); não é executado, talvez seja esse o motivo dele nao renderizar com os dados. Dai se vc forcar a execução do redenderResponse() você passará pela validadacao…

Criado 10 de junho de 2008
Ultima resposta 21 de ago. de 2008
Respostas 2
Participantes 2