Quando coloco a tag ajax em algum link percebo algo estranho.
Na página para qual o link vai, para fazer alguma ação tenho que clicar duas vezes no mesmo botão para poder realizar a ação.
Imagino que quando coloco a tag ajax, quando clico ele não “ativa” o bean da página.
Como posso reverter essa situação utilizando ajax?
O primeiro código é o link para o segundo. Após ir para o segundo código ele só “ativa” o bean se eu der 2 cliques no commandButton. Por exemplo, se eu não digitar nda aparece uma imagem ao clicar no botão, porém da maneira que está eu tenho que clicar 2 vezes para a mensagem aparecer.
Se você quer renderizar a página inteira com uma nova requisição “não ajax”, é só tirar a tag f:ajax (independente do f:ajax, o h:form é processado). Se você quer fazer uma requisição ajax, precisa ter um listener que modifique algum componente na tela e use a propriedade render do f:ajax para atualizar essa parte da tela. Mas como está usando o primefaces, mais cômodo usar o p:commandLink pois ele já tem o ajax.