Problema com f:ajax render="@all"

2 respostas
O

Pessoal estou utilizando JSF 2 com facelets, porém estou com um problema no componente AJAX.

Na verdade o problema é depois da chamada do commandLink com o Ajax, conforme abaixo:

<h:form>
<ui:repeat value="#{??????}" var="c">
	<li><h:commandLink action="#{????????}" value="#{?????}"><f:ajax render="@all"/></h:commandLink></li>
</ui:repeat>
</h:form>

Depois que eu clico no commandLink o lifecycle do FSF funciona normalmente, porém se eu clicar em qualquer botão da próxima página que foi direcionada via ManagedBean, do commandLink acima, ele faz um refresh na página e não chama o ManagedBean, só no segundo clique.

SystemOut:

1 CLIQUE (OK):

INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: RESTORE_VIEW 1
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: RESTORE_VIEW 1
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: APPLY_REQUEST_VALUES 2
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: APPLY_REQUEST_VALUES 2
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: PROCESS_VALIDATIONS 3
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: PROCESS_VALIDATIONS 3
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: UPDATE_MODEL_VALUES 4
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: UPDATE_MODEL_VALUES 4
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: INVOKE_APPLICATION 5
INFO: Clearing Messages
INFO: 3
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: INVOKE_APPLICATION 5
INFO: REQUEST END
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: RENDER_RESPONSE 6
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: RENDER_RESPONSE 6

2 CLIQUE (Não chama o ManagedBean e da refresh na tela):

INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: RESTORE_VIEW 1
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: RESTORE_VIEW 1
INFO: REQUEST END
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: RENDER_RESPONSE 6
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: RENDER_RESPONSE 6

3 CLIQUE (OK):

INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: RESTORE_VIEW 1
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: RESTORE_VIEW 1
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: APPLY_REQUEST_VALUES 2
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: APPLY_REQUEST_VALUES 2
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: PROCESS_VALIDATIONS 3
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: PROCESS_VALIDATIONS 3
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: UPDATE_MODEL_VALUES 4
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: UPDATE_MODEL_VALUES 4
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: INVOKE_APPLICATION 5
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: INVOKE_APPLICATION 5
INFO: REQUEST END
INFO: PWC1412: WebModule[null] ServletContext.log():BEFORE: RENDER_RESPONSE 6
INFO: PWC1412: WebModule[null] ServletContext.log():AFTER: RENDER_RESPONSE 6

Alguém já teve algum problema parecido?

Eu encontrei este link (http://www.progtown.com/topic338035-jsf-20-ajax.html) com o mesmo erro, porém sem a solução.

Valeu pessoal!

2 Respostas

C

estou com o mesmo problema mas com jsf 1.1 e me foi indicado tentar usar o rende="@all"

no meu caso o usuário vai para a página que exibe um gráfico mas náo exibe só depois de ele dar reload na página ou ainda clicar duas vezes no link para carregar.

e ainda no meu sistema ele é homologado no Google chrome mas o usuário usa IE8

D

tenta colocar

<f:ajax event="click" render="@all"/>
Criado 26 de janeiro de 2012
Ultima resposta 7 de nov. de 2013
Respostas 2
Participantes 3