Dúvida no RERENDER - JSF

3 respostas
sandro.csimas

Pessoal, tenho uma estrutura de a4j:repeat, e nela tenho varias linhas contendo um link
assim resumidamente:

<a4j:repeat value="#{avisoAtividadeController.dataModel}" var="item" rowKeyVar="row" id="list_tweetList">
     ...
     ...
     ...
                               <a4j:outputPanel id="starred">
                                    <a4j:commandLink styleClass="linkVerde imgGeral actionLink unstarred" action="#{favoritoController.save}" rendered="#{!avisoAtividadeController.verificaFavoritadoLinha}"                      reRender="favoritos_grid,starred,unstarred" limitToList="true">                                    
                                        <h:outputText value="Ler depois"></h:outputText>
                                        <f:setPropertyActionListener value="#{item}" target="#{favoritoController.favorito.avisoAtividade}"/>
                                        <f:param name="idAtividade" value="#{item.usuarioAtividade.id}" />
                                        <f:param name="maxRegisters" value="#{avisoAtividadeController.pager.maxRegisters}"/>
                                        <f:param name="favoritarAvisos" value="true"/>
                                        <f:param name="tipoView" value="#{avisoAtividadeController.tipoView}"/>
                                    </a4j:commandLink>                                        
                                </a4j:outputPanel>  
     ...
     ...
     ...
</a4j:repeat>

O link cujo action é “#{favoritoController.save}” no final rerenderiza aquelas 3 ids "favoritos_grid,starred,unstarred, toda linha da estrutura vai ser rerenderizada nestes ids ?
Eu preciso rerenderizar apenas esta linha… isto já é feito ?

Pergunto isso porque quanto mais linhas tenho no a4j:repeat, mais lento é o processo de renderização, o que não pode acontecer aqui, deixar o usuário esperando mto tempo.
Valeu pessoal

3 Respostas

sandro.csimas

utilizando o ajaxSingle=“true” percebi que ficou bem mais rapido

blackout

Pelo que sei, isso acontece porque pra cada iteração do repeat, a pagina é renderizada.
Coloando ajaxSingle=true, você está dizendo que só deve ser renderizada essa parte da tela.

Sacou?

sandro.csimas

Entendi, valeu… melhorou bastante

Criado 15 de outubro de 2010
Ultima resposta 17 de out. de 2010
Respostas 3
Participantes 2