Dae galera…
Estou desenvolvendo uma aplicação em Jsf 2.0 com primefaces e utilizando o componente <p:dataTable> , nele estou colocando a propriedade dinamyc=true para que
ele carregue a lista de itens conforme a interação do usuário. O problema é que a cada item da lista ele faz um chamada no manage bean, isto ta ficando muito custoso, porque carrega as outras classes que são inicializada no construtor do MB, que não quero. Quero que ele carregue apenas a lista de itens.
Desabilitando este propriedade e utilizando ajax pra atualizar o form deste item, ele não carrega a lista e nem chama o MB.
Item a ser atualizado
<h:form id="formMinhasTurmas">
<p:dataTable var="obj" value="#{distTurmaManager.turmaManager.dataModel}" id="listaTurmas">
<p:column>
<f:facet name="header">
<h:outputText value="descricao" />
</f:facet>
<h:outputText value="#{obj.turmaDescricao}" />
</p:column>
<p:column>
<f:facet name="header">Selecionar</f:facet>
<p:commandButton action="#{distTurmaManager.selectTurma}" value=">" ajax="true" async="true" update="formCadastro:itTurma" styleClass="btoSubmit"/>
</p:column>
</h:form>
item que chama atualiza o datatable
<p:commandButton id="btnformCad" action="#{distTurmaManager.save}" value="#{i18n['label.distTurma.cadastrar']}" styleClass="btoSubmit" ajax="true" async="true" update="formMinhasTurmas"/>
Alguem esta fazendo ou ja fez algo parecido?
Outra dúvida,
No manage bean, a cada request o MB é instanciado novamente?
um abraço.