(resolvido) dialog passando bean nulo

6 respostas
wyllsc

Meu está passando bean nulo..

xhtml

<p:dialog header="Recuperar Senha" widgetVar="senhaDialog"
				resizable="false" id="senhaModal" showEffect="fade"
				hideEffect="fade" modal="true" draggable="true" maximizable="true"
				minimizable="true" appendToBody="false" dynamic="true">
				<h:panelGrid id="gridModal">
					<div class="campos_botoes_formulario" align="center">
						<h:outputText value="SENHA: " />
	
						<p:inputMask mask="[CPF removido]" value="#{mbUsuario.usuario.cpf}"
							id="senhaModalInbox" required="true"
							requiredMessage="Senha não Informada" label="Informe seu CPF"
							maxlength="11" style="width: 45%;" />
					</div>
	
					<div class="campos_botoes_formulario" align="center">
						<h:outputText value="LOGIN DO USUÁRIO: " />
						<p:inputText id="loginModal" value="#{mbUsuario.usuario.login}" disabled="true" style="width: 45%;" />
					</div>
					
					<p class="box_apresentacao_rodape_botao" align="left">
						<p:commandButton id="btSenha" immediate="true"
							action="#{mbUsuario.buscaLogin}" icon="ui-icon-search"
							update="gridModal" value="recuperar"
							 />
					</p>
					
				</h:panelGrid>

			</p:dialog>

BEAN
Quando vou verificar o método o USUARIO.GETCPF está vindo como nulo ou seja não esta passando do xhtml para o bean...!

public Usuario buscaLogin()
   {
      if (usuario.getCpf() != null)
      {
         usuario.setCpf(usuario.getCpf().replaceAll("[.]", "").replaceAll("-", ""));
         usuario = usuarioDAO.buscaLogin(getUsuario());
      }
      else 
      {
         FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Ops!","Usuário não Encontrado"));
      }
      return usuario;
   }

6 Respostas

Hebert_Coelho

POR Q ESCREVER ASSIM? NINGUÉM É SURDO NÃO! CASO VOCÊ NÃO SAIBA, LETRA COM CAPS ALTO NA INTERNET SIGNIFICA GRITO.


Tem form seu dialog?

wyllsc

foi mals o caps lock ai..

meu xhtml todo:

&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
&lt;!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;ui:composition template="./template/template-externo.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui"&gt;
	&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;

	&lt;ui:define name="corpo"&gt;
		&lt;h:form id="form"&gt;


			&lt;h:outputStylesheet name="index.css" library="css" /&gt;
			&lt;p:growl id="mensagem" life="4500" /&gt;

			&lt;p:panel styleClass="padding: 0;"&gt;
				<p  >TITULO </p>
			&lt;/p:panel&gt;

			&lt;p:panel id="panel"&gt;
				&lt;h:panelGrid id="grid"&gt;
					&lt;p:row&gt;
						&lt;p:column&gt;

							&lt;div class="campos_botoes_formulario" align="center"&gt;
								&lt;h:outputText style="margin-top 15px;" value="LOGIN: " /&gt;
								&lt;p:inputText value="#{mbUsuario.usuario.login}" id="login"
									required="true" requiredMessage="Login não informado"
									label="Login" style="width: 45%; text-transform: uppercase;"
									onblur="this.value = this.value.toUpperCase();" /&gt;
							&lt;/div&gt;

							&lt;div class="campos_botoes_formulario" align="center"&gt;
								&lt;h:outputText value="SENHA: " /&gt;
								&lt;p:inputMask mask="[CPF removido]"
									value="#{mbUsuario.usuario.cpf}" id="senha" required="true"
									requiredMessage="Senha não Informada" title="Informe Sua Senha"
									maxlength="11" style="width: 45%;" /&gt;
							&lt;/div&gt;

							<p  
								>
								&lt;p:commandButton id="buscaSenha" oncomplete="senhaDialog.show()"
									title="Recuparar Senha" value="Senha" icon="ui-icon-key" /&gt;
							</p>

							<p  
								>
								&lt;p:commandButton value="Entrar" icon="ui-icon-circle-check"
									action="#{mbUsuario.verificaTipoUsuario}"
									update="panel,grid,mensagem" /&gt;
							</p>
						&lt;/p:column&gt;
					&lt;/p:row&gt;
				&lt;/h:panelGrid&gt;
			&lt;/p:panel&gt;

			&lt;p:dialog header="Recuperar Senha" widgetVar="senhaDialog"
				resizable="false" id="senhaModal" showEffect="fade"
				hideEffect="fade" modal="true" draggable="true" maximizable="true"
				minimizable="true" appendToBody="false" dynamic="true"&gt;
				&lt;h:panelGrid id="gridModal"&gt;
					&lt;div class="campos_botoes_formulario" align="center"&gt;
						&lt;h:outputText value="SENHA: " /&gt;
	
						&lt;p:inputMask mask="[CPF removido]" value="#{mbUsuario.usuario.cpf}"
							id="senhaModalInbox" required="true"
							requiredMessage="Senha não Informada" label="Informe seu CPF"
							maxlength="11" style="width: 45%;" /&gt;
					&lt;/div&gt;
	
					&lt;div class="campos_botoes_formulario" align="center"&gt;
						&lt;h:outputText value="SENHA: " /&gt;
						&lt;p:inputText id="loginModal" value="#{mbUsuario.usuario.login}" disabled="true" style="width: 45%;" /&gt;
					&lt;/div&gt;
					
					<p  >
						&lt;p:commandButton id="btSenha" immediate="true"
							action="#{mbUsuario.buscaLogin}" icon="ui-icon-search"
							update="gridModal" value="recuperar"
							 /&gt;
					</p>
					
				&lt;/h:panelGrid&gt;

			&lt;/p:dialog&gt;

		&lt;/h:form&gt;
	&lt;/ui:define&gt;
	&lt;f:facet name="footer" /&gt;
&lt;/ui:composition&gt;
Hebert_Coelho

Não sei c esse é o problema, mas eu sempre fiz um form separado para o Dialog. Não colocar um dentro do outro, mas fazer algo tipo:

<botão que chama dialog dialog
wyllsc

coloquei conforme falado porem o erro continua

&lt;h:form id="formDialog"&gt;
			&lt;p:dialog header="Recuperar Senha" widgetVar="senhaDialog"
				resizable="false" id="senhaModal" showEffect="fade"
				hideEffect="fade" modal="true" draggable="true" maximizable="true"
				minimizable="true" appendToBody="false" dynamic="true"&gt;
				&lt;h:panelGrid id="gridModal"&gt;
					&lt;div class="campos_botoes_formulario" align="center"&gt;
						&lt;h:outputText value="SENHA: " /&gt;

						&lt;p:inputMask mask="[CPF removido]"
							value="#{mbUsuario.usuario.cpf}" id="senhaModalInbox"
							required="true" requiredMessage="Senha não Informada"
							label="Informe seu CPF" maxlength="11" style="width: 45%;" /&gt;
					&lt;/div&gt;

					&lt;div class="campos_botoes_formulario" align="center"&gt;
						&lt;h:outputText value="SENHA: " /&gt;
						&lt;p:inputText id="loginModal" value="#{mbUsuario.usuario.login}"
							disabled="true" style="width: 45%;" /&gt;
					&lt;/div&gt;

					<p  >
						&lt;p:commandButton id="btSenha" immediate="true"
							action="#{mbUsuario.buscaLogin}" icon="ui-icon-search"
							update="gridModal" value="recuperar" /&gt;
					</p>

				&lt;/h:panelGrid&gt;
			&lt;/p:dialog&gt;
		&lt;/h:form&gt;
Hebert_Coelho

Beleza, agora tire o “immediate” do botão. [=

wyllsc

jakefrog Realmente funcionou…não sei o que estava acontecendo antes pois estava usando o dialog sem o immediate e não estava funcionando agora tirei e funcionou!

Creio que foi por causa de colocar em outro form mesmo…

Funcionando Obrigado

:lol:

Criado 14 de setembro de 2012
Ultima resposta 14 de set. de 2012
Respostas 6
Participantes 2