Você já percebeu esse comportamento na maioria dos componentes do RichFaces? [RESOLVIDO]
12 respostas
neeryck
Srs.
Notei que o rich:inplaceSelect e rich:picklist chamam mais de duas vezes o método do managed-bean para cada renderização! Sem contar a submissão!
Sendo assim, faço uns 4,5 selects desnecessariamente contando a renderização e submissão.
Na submissão dá erro de validação… e isso só me acontece com esses componentes…
Ninguém teve essa esperiência com o richfaces??
[]'s
neeryck
Pesquisando na cominudade JBoss, notei que o rich:inplaceSelect tem alguns bug’s… mudei para rich:combobox =D Não entra duas vezes no método que popula-o e é mais elegante!
Mais se alguém notou isso (acessar duas ou + vezes o método que popula o componente) e queira ajudar/discutir sobre tal assunto… será muito proveitoso!
[]'s
alves.Felipe
todos os componentes acontece isso tb… por exemplo o h:SelectOneMenu, tb passa algumas x no método getAlgumaCoisa()…
vc tem que tratar para não consultar várias x… nesse caso não é uma boa prática deixar a consulta dentro do método getAlgumaCoisa()…
entende?
neeryck
alves.Felipe
Agradeço muito pela resposta! Agora entendi que é de fato um comportamente do componente.
Ainda não imaginei um jeito de fazer isso. Por exemplo, se eu tiver um List com os dados, em algum momento (para renderização do componente) terei que chamar esse método, e tendo em vista que quando ele é submetido faz o mesmo procedimento…
Se possível dê uma dica para que eu possa evitar (SELECT’S, JOIN’S) desnecessárias consultas.
Srs.
Deu certo!
Agora, se eu já tenho os dados para que vou fazer um (ainda que apenas um) SELECT quando o form for submetido atravéz do <h:commanButton> ???
Da para contornar isso? Ou melhor fazer assim mesmo?
Não sei criar Conversor para List… acho que precisa pegar o objeto atravéz do hash tendo em vista que na classe que implementa Converter ela vem como String
Como vcs fazem? SELECT? Ou reaproveitam o que tem?
[]'s
alves.Felipe
cada vez que for submetido o form, ai refaz as consultas… normal…
só não é normal ficar refazendo várias vezes a mesma consulta quando esta reenderizando a tela… certo?!
neeryck
Correto alves.Felipe !!
Muito obrigado pela força!
[]'s
D
dpacifico
neeryck:
Srs.
Notei que o rich:inplaceSelect e rich:picklist chamam mais de duas vezes o método do managed-bean para cada renderização! Sem contar a submissão!
Sendo assim, faço uns 4,5 selects desnecessariamente contando a renderização e submissão.
Alguma sugestão?? Devo estar errando em algo…
[]'s
Srs, boa tarde, Tenho trabalhado num projeto com Richfaces e tivemos uns problemas parecidos: Um botão a4j:commandButton que, através do rerender, disparava a atualização de meu rich:dataTabel. Exatamente como falaram, o método getDataModel de meu managed bean era chamado várias vezes durante a renderização do dataTable.
Ainda estou buscando uma resposta consistente para este problema, mas utilizar os atributos ajaxSingle e process do meu a4j:commandButton fez com que o mesmo parasse de repetir a chamada ao getDataModel.
Acho que vale como histórico para o problema, quando outros colegas pesquisarem…