Fórum

« Voltar para demoiselle-users

Re: [demoiselle-users] Valor de atributo não grava quando está dentro do co

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
Olá Vinícius.

Concordo com o Rafael, o seu p:commandButton Salvar está com
immediate="true" isto quer dizer que
o *actionListener* será executado em *Process Events* de*
APPLY_REQUEST_VALUES,* sendo assim o
nome e a descrição estão nulos, porque o modelo não foi atualizado. Depois
que o actionListener foi executado,
o ciclo seguiu para *RENDER_RESPONSE* e nunca chegou em
*UPDATE_MODEL_VALUES*.


Estou enviando os códigos abaixo para que você possa acompanhar o ciclo de
vida da JSF isto ajuda bastante no momento do debug.



import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;

public class CicloDeVidaJSFListener implements
javax.faces.event.PhaseListener {

private static final long serialVersionUID = 1L;

@Override
public void afterPhase(PhaseEvent event) {
System.out.println("END PHASE "+event.getPhaseId());
}

@Override
public void beforePhase(PhaseEvent event) {
System.out.println("START PHASE "+event.getPhaseId());
}

@Override
public PhaseId getPhaseId() {
return PhaseId.ANY_PHASE;
}
}


E adicione as seguintes linhas no *faces-config.xml* para ativar o
CicloDeVidaJSFListener .

<lifecycle>
<phase-listener>seu.pacote.CicloDeVidaJSFListener</phase-listener></lifecycle>





Em 1 de maio de 2014 22:23, Rafael Odon <odon.rafael@gmail.com> escreveu:

> Seu botão Salvar está com immediate="true", logo irá direto para a fase de
> invocação de aplicação, sem passar pelo processamento de validações e
> atualização do modelo.
>
> Passe para false ou retire essa propriedade. Utilize o atributo process e
> informe os id's dos campos que devem ser processados por esse botão ajax,
> vai ficar algo assim: process="@this,nome,descricao"
>
> Até+
>
>
> 2014-05-01 22:17 GMT-03:00 Vinícius Ferneda de Lima <
> vinicius.ferneda@gmail.com>:
>
> > Olá jovens.
> >
> > Estou enfrentando um problema na utilização do componente <p:dialog> para
> > gravação de registros.
> >
> > Quando clico no botão que chama o método "setEvidencia()" no meu
> ManageBean
> > as informações de "nome" e "descrição" do objeto "EvidenciaAux" estão
> > nulas.
> >
> > O que posso fazer para o que foi informado nos campos em tela seja
> > atribuído ao objeto?
> >
> > Segue o dialog:
> >
> > <!--Código-->
> >
> > <p:dialog id="modalEvidenciaNew"
> > header="Evidência"
> > widgetVar="dialogEvidenciaNew"
> > modal="true"
> > width="400" height="400"
> > resizable="false"
> > closable="true"
> > appendToBody="true">
> > <h:panelGrid id="panelModalEvidencianew">
> > <h:outputLabel value="#{messages['evidencia.label.nome']}: " for="nome"
> > styleClass="text-input" />
> > <h:inputText id="nome"
> > value="#{conjuntoEvidenciasEditMB.bean.evidenciaAux.nome}"
> > title="#{messages['evidencia.alt.nome']}" />
> > <p:message for="nome" />
> >
> > <h:outputLabel value="#{messages['evidencia.label.descricao']}: "
> > for="descricao" styleClass="text-input" />
> > <h:inputText id="descricao"
> > value="#{conjuntoEvidenciasEditMB.bean.evidenciaAux.descricao}"
> > title="#{messages['evidencia.alt.descricao']}" />
> > <p:message for="descricao" />
> > <p:commandButton value="#{messages['button.save']}"
> > actionListener="#{conjuntoEvidenciasEditMB.setEvidencia()}"
> > immediate="true"
> > update="panelModalEvidencia"
> > oncomplete="dialogEvidenciaNew.hide();"
> > />
> > </h:panelGrid>
> > </p:dialog>
> >
> > <!--Codigo-->
> >
> > Att.
> >
> > Vinícius Ferneda de Lima.
> >
> >
> ------------------------------------------------------------------------------
> > "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> > Instantly run your Selenium tests across 300+ browser/OS combos. Get
> > unparalleled scalability from the best Selenium testing platform
> available.
> > Simple to use. Nothing to install. Get started now for free."
> > http://p.sf.net/sfu/SauceLabs
> > _______________________________________________
> >
> > Portal: http://www.frameworkdemoiselle.gov.br
> > Foruns: http://forum.frameworkdemoiselle.gov.br
> > Tracker: http://tracker.frameworkdemoiselle.gov.br
> > _______________________________________________
> >
> > Para editar sua assinatura:
> > https://lists.sourceforge.net/lists/listinfo/demoiselle-users
> >
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos. Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
>
> Portal: http://www.frameworkdemoiselle.gov.br
> Foruns: http://forum.frameworkdemoiselle.gov.br
> Tracker: http://tracker.frameworkdemoiselle.gov.br
> _______________________________________________
>
> Para editar sua assinatura:
> https://lists.sourceforge.net/lists/listinfo/demoiselle-users
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________

Portal: http://www.frameworkdemoiselle.gov.br
Foruns: http://forum.frameworkdemoiselle.gov.br
Tracker: http://tracker.frameworkdemoiselle.gov.br
_______________________________________________

Para editar sua assinatura:
https://lists.sourceforge.net/lists/listinfo/demoiselle-users