Problema com o p:dialog

0 respostas
J

Tenho o seguinte código na minha página xhtml

p:panel id="pnSuporte">
	    <h:form id="frmSolicitarSuporte">
	    
	    <p:growl id="mensagem" showDetail="true" showSummary="true">
	    
	    <h:panelGrid columns="2">
	    
	    	<h:outputText value="Número PA:"/>
	    	<p:inputText size="5" maxlength="4" value="#{solicitacaoBean.solicitacao.numeroPa}" id="numPa"/>
	    	
	    	<h:outputText value="Descrição:" />
	    	<p:inputTextarea autoResize="true" effectDuration="200" maxlength="400" maxHeight="300"
	    	value="#{solicitacaoBean.solicitacao.descricao}" id="descricaoSu" /> 
	    	
	    
			<p:commandButton actionListener="#{solicitacaoBean.salvarSolicitacao}" value="Solicitar"
			update="infoSolicitacao" oncomplete="dialogSolicitacao.show()"/>	    
	    </h:panelGrid>
	    
	     </p:growl>
	    
	    </h:form>
	    </p:panel>
	    
	    <p:dialog header="Informação da Solicitação" widgetVar="dialogSolicitacao" resizable="true" 
	    modal="false" width="400" >
	        
	    <h:panelGrid id="infoSolicitacao" columns="2">
	    	<h:outputText value="Número do Protocolo:"/>
	    	<h:outputLabel value="#{solicitacaoBean.solicitacao.protocolo}"/>
	    	
	    	
	    	<h:outputText value="Data Abertura:"/>
	    	<h:outputText value="#{solicitacaoBean.solicitacao.dataAbertura}">
	    		<f:convertDateTime dateStyle="default"/>
	    	</h:outputText>
	    	
	    	<h:outputText value="Hora Abertura:"/>
	    	<h:outputText value="#{solicitacaoBean.solicitacao.horaAbertura}">
	    		<f:convertDateTime timeStyle="default"/>
	    	</h:outputText>
	    	
	    	<h:outputText value="Usuario solicitante:"/>
	    	<h:outputLabel value="#{usuarioController.usuario.login}"/>
	    	
	    </h:panelGrid>
	    </p:dialog>

1) Mesmo dando algum erro o o dialog é exibido. Gostaria de saber como fazer para exibi-lo apenas quando não há nenhum erro, ou quando o atributo na classe for diferente de 0, por exemplo;

2) Se utilizar no <p:commandButton > a propriedade ajax="true", mesmo dando erro, o <p:growl> não funciona, quando coloco ajax="false" a mensgaem que coloquei na minha classe para exibir no xhtml aparece, porém o dialog não aparece de forma alguma.

Alguém sabe como resolver estes problemas?

Obrigado!

Criado 15 de outubro de 2011
Respostas 0
Participantes 1