Beleza
Pessoal eu estou usando primefaces e tenho um p:edialog que tem uma tabela quando essa tabela é selecionada o valor deve ser setado no Bean isso acontece corretamente, o valor aparece em um campo de feedback na tela principal blz, só que quando eu clico em cadastrar o valor chega nulo.
Alguem tem alguma ideia do que pode ser?
verifica se o componente esta dentro de um form
Sim tanto o botão cadastrar como o dialogo estão dentro de forms
Fidle seria possivel vc postar seu codigo!
Vlw
Muito obrigado pela ajuda a código é o seguinte
página principal
<h:body>
<h:form prependId="false">
<p:panel id="panel0" header="Caregamento">
<p:panel id="panel1">
<h:panelGrid columns="2">
<h:outputLabel value="Nome:" />
<h:inputText value="#{MBean.usuario.nome}"/><br/>
<p:commandButton onclick="usuarios.show()" value="Selecionar Usuario"/>
</h:panelGrid>
</p:panel>
<p:panel id="panel2">
<h:panelGrid columns="2">
<h:outputLabel value="Cidade:"/>
<h:selectOneMenu value="#{MBean.idCidade}">
<f:selectItems value="#{MBean.cidades}" />
</h:selectOneMenu>
</h:panelGrid>
</p:panel>
<p:panel id="panel3">
<h:panelGrid columns="2">
<h:outputLabel value="Carga: "/>
<h:inputText id="cargaNome" value="#{MBean.carga.nome}"/><br/>
<p:commandButton onclick="cargas.show()" value="Selecionar Carga"/>
</h:panelGrid>
</p:panel>
<p:commandButton value="Salvar" actionListener="#{MBean.registrar}" immediate="true" update="panel0"/>
</p:panel>
</h:form>
</h:body>
Dialog
<h:body>
<h:form id="formCarga" prependId="false">
<p:dialog header="Selecionar Carga" modal="true" widgetVar="pegarCarga" height="800" width="800">
<p:dataTable id="tabela" var="carga" value="#{MBean.cargas}"
selection="#{MBean.carga}" selectionMode="single" onRowSelectStart="pegarCarga.hide();" onRowSelectUpdate="panel3">
<p:column>
<f:facet name="header">
<h:outputLabel value="Numero"/>
</f:facet>
<h:outputText value="#{carga.id}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputLabel value="Nome"/>
</f:facet>
<h:outputText value="#{carga.nome}"/>
</p:column>
</p:dataTable>
</p:dialog>
</h:form>
</h:body>
Bem pessoal o bean é sessionscoped e se eu colocar o dialog na página principal ele funciona corretamente, sera que pode ser alguma coisa com o facelets do jsf 2
Fidle da uma olhada como o pessoal do primefaces cria o dialog
http://www.primefaces.org/showcase/ui/dialog.jsf
Vlw
Sim eu criei o dialog com base nisso mas em páginas separadas utilizando o facelets do jsf , acredito que o problema não seja esse, debugando eu notei que os dados são setados no método set do Mbean mas quando esse valor é chamado no método de cadastro chega null.
Fidle, qual o escopo do seu bean?
view
request
session
aplication
o bean tem o escopo session cara eu acredito que o problema é em uma das fases do jsf.
Fidle, vou debugar seu codigo e respondo a noite?
Blz