Post

1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

By ciclosw Galerinha,
Quando atuei em um ambiente Java + JSF + Rich/Prime Faces eu peguei vários bugs que aparentemente eram fáceis de serem corrigidos. Foi o caso do: check-box que não marcava depois de desmarcar, o textbox que não limpava seu conteúdo após voltar para a tela, e até mesmo a página que não direcionava para outra ao salvar um registro, coisas básicas e consideradas fáceis de se resolver.
O problema é ter de lidar com os componentes dinâmicos da sua página com integração Rich/Prime Faces. Mas isso, nem eu, nem meus colegas sabíamos e por isso levava horas para corrigir esses pequenos problemas. Debugava o código, escrevia novos métodos, ia mexendo em cada camada da aplicação para entender e isolar onde estava o erro.
Mas você não vai precisar passar por isso… aí vai a dica: quando você precisar dar um Update no seu form JSF que possua vários componentes dinâmicos, ou quando você for precisar trabalhar com ajax em cima dessa estrutura, nunca escolha a opção @form. O update form serve para reenviar todos os dados e ações de todos os componentes da página, de uma só vez ao seu Managed Bean, quando ele é utilizado. Com isso, os dados que precisavam ser mantidos no Managed Bean são perdidos e os componentes ajax(rich e prime faces)/com javascript/jQuery embutidos, param de funcionar.

Opte sempre por dividir os componentes ou grupos de componentes da sua página dinâmica por grids ou painels. E daí você pode fazer o update em cima deles. Basta inserir um id para cada um deles e começar a manipular o conteúdo do update com base neles. Isso é até mesmo uma boa prática, porque você vai ter maior controle dos seus componentes e o seu Managed Bean não vai mais ser inundado com os dados de todo o formulário a cada ação realizada pelo cliente sobre a página. ;)

PS.: Em casos de páginas contendo múltiplos componentes com conteúdo dinâmico, para redirecionar a página, você vai precisar inserir um grid ou um panel em toda a sua página e dar o update em cima dele, ok?
Conhece outra forma de resolver isso? Comente, por favor!!

Source:: http://ciclosw.wordpress.com/2014/08/31/o-problema-do-update-form/

Você também pode querer ler

Comments are off for this post.