Olá,
tenho estas tags:
<p:ajaxStatus rendered="true" >
<f:facet name="start">
<h:graphicImage value="../img/ajax.gif" />
<h:outputText value="Aguarde um instante" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
No entanto, ela não se interage com ajax que acontece na página.
O que posso tentar aqui?
Seria possível postar o restando do código da view?
Queria que aparecesse o Status enquanto a combobox é populada conforme a seleção da outra combo:
[code]
<h:form>
<p><label for="cbUf">Escolha o seu Estado</label>
<h:selectOneMenu id="cbUf" value="#{cidadeBean.estado}" converter="estadoConverter" >
<f:selectItem itemLabel="Selecione"/>
<f:selectItems value="#{estadoBean.estados}" var="e" itemLabel="#{e.nome}" itemValue="#{e}" />
<f:ajax render="cbCidade" listener="#{cidadeBean.atualizaLista}" />
</h:selectOneMenu>
</p>
<p><label>Escolha sua Cidade / Região</label>
<h:selectOneMenu id="cbCidade" value="#{user.cidade}" >
<f:selectItems value="#{cidadeBean.listaCidade}" var="c" itemLabel="#{c.nome}" itemValue="#{c.nome}" />
</h:selectOneMenu>
</p>
<p:ajaxStatus rendered="true" >
<f:facet name="start">
<h:graphicImage value="../img/ajax.gif" />
<h:outputText value="Aguarde um instante" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
<p id="p_botao"> <h:commandButton value=">>Entrar" styleClass="botao" action="#{user.acessarIndex}" /> </p>
</h:form>[/code]
Obrigado!
Não é certeza absoluta, mas o ajaxStatus do PrimeFaces só funciona com requisições ajax geradas por componentes do PrimeFaces. Requisições ajax geradas pelo componente ajax do JSF2 não vão ativar o ajaxStatus.
Eu desconfiei disso, e inclusive, se não me engano, na documentação consta isso.
O que poderia entrar no lugar do ajaxStatus do Primefaces?
Consegui resolver.
dessa forma:[code]
<h:selectOneMenu id="cbUf" value="#{cidadeBean.estado}" converter="estadoConverter" >
<f:selectItem itemLabel="Selecione"/>
<f:selectItems value="#{estadoBean.estados}" var="e" itemLabel="#{e.nome}" itemValue="#{e}" />
<f:ajax render="cbCidade" listener="#{cidadeBean.atualizaLista}" id="teste" />
<p:ajax id="teste" />
</h:selectOneMenu>
[/code]
Assim faz o ajax com JSF e “linka” com ajax do Prime.
Valeu
A solução mais simples seria utilizar componentes do PrimeFaces como p:commandButton e p:ajax no lugar dos componentes do JSF.