Tenho uma aplicação que chama um caixa de dialogo com uma tabView e em uma de suas abas tento recuperar a data de um componente calendar. Na tentativa de testar criei uma função que imprime a data do calendar, mas simplesmente imprime null. Por favor se alguém puder me ajudar ficaria muito grato…
Código da Caixa de dialogo:
<h:form id="formE">
<p:dialog header="Cadastro e edição de Eventos" widgetVar="dialogEvento" resizable="false" modal="true" showEffect="slide" width="900">
<p:growl id="EventoGrowl" showDetail="true" sticky="true" />
<p:tabView id="tabView">
<p:tab id="tab1" title="Evento">
<h:panelGrid id="Eventogr" columns="2" style="margin-bottom:10px">
<h:outputLabel for="nomeE" value="Nome" />
<p:inputText id="nomeE" value="#{eventoBean.evento.nome}" required="true" label="Nome do Evento"/>
<h:outputLabel for="classificacaoE" value="Classificação" />
<p:inputText id="classificacaoE" value="#{eventoBean.evento.classificacao}" required="true" label="Classificação do Evento"/>
<h:outputLabel for="alvaraE" value="Alvara" />
<p:inputText id="alvaraE" value="#{eventoBean.evento.alvara}" validatorMessage="e-Mail inválido"/>
<h:outputLabel for="protocoloE" value="Protocolo" />
<p:inputText id="protocoloE" value="#{eventoBean.evento.protocolo}"/>
<h:outputLabel for="protocoloE" value="Tipo do Evento" />
<p:selectOneMenu id="tipoE" value="#{eventoBean.evento.tipoevento}">
<f:selectItem itemLabel="Escolha um tipo" itemValue="" />
<f:selectItem itemLabel="Interno" itemValue="interno" />
<f:selectItem itemLabel="Particular" itemValue="particular" />
<f:selectItem itemLabel="Beneficente" itemValue="beneficente" />
</p:selectOneMenu>
<h:outputLabel for="ruaE" value="Rua" />
<p:inputText id="ruaE" value="#{eventoBean.evento.rua}"/>
<h:outputLabel for="numeroE" value="Número" />
<p:inputText id="numeroE" value="#{eventoBean.evento.numero}"/>
<h:outputLabel for="bairroE" value="Bairro" />
<p:inputText id="bairroE" value="#{eventoBean.evento.bairro}"/>
<h:outputLabel for="cidadeE" value="Cidade" />
<p:inputText id="cidadeE" value="#{eventoBean.evento.cidade}"/>
</h:panelGrid>
</p:tab>
<p:tab id="tab2" title="Status do Evento" disabled="#{eventoBean.disabilitato}">
<h:panelGrid columns="2" cellpadding="10">
<h:outputLabel value="Status do Evento" for="statusevento"/>
<p:selectOneMenu id="statusevento" value="#{eventoBean.idStatus}" required="true">
<f:selectItems var="statusE" value="#{eventoBean.listaStatus}"
itemLabel="#{statusE.status}"
itemValue="#{statusE.idstatus}"/>
</p:selectOneMenu>
<h:outputLabel for="descricaoS" value="Descrição"/>
<p:inputTextarea id="descricaoS" value="#{eventoBean.texto}"/>
</h:panelGrid>
</p:tab>
<p:tab id="tab3" title="Produto Material">
<p:dataTable id="tabelaProMat" var="promat" value="#{eventoBean.listaQPM}" paginator="true" rows="3"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="3,6">
<f:facet name="header">
<p:commandButton id="chamadaaddpm" oncomplete="dialogAddPM.show();" update=":formE:tabView:tabelaProMat" value="Adicionar Produto Material" />
</f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="ID"/>
</f:facet>
<h:outputText value="#{promat.idPro}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Produto"/>
</f:facet>
<h:outputText value="#{promat.nome}"/>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Quantidade"/>
</f:facet>
<h:outputText value="#{promat.quantidade}"/>
</p:column>
<p:column>
<p:commandButton id="excluirpm" immediate="true" ajax="true" action="#{eventoBean.removerListaProdMatEvento}" update="tabelaProMat"
value="Excluir" onclick="if (!confirm('Confirma a exclusão do Produto Material #{promat.nome}?'))
return false;">
<f:setPropertyActionListener target="#{eventoBean.produto}" value="#{promat}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
<p:tab id="tab4" title="Contato">
<h:panelGrid columns="2" cellpadding="10">
<h:outputLabel value="Contato" for="contatoOneM"/>
<p:selectOneMenu id="contatoOneM" value="#{eventoBean.idContato}" rendered="true">
<f:selectItem itemLabel="Selecione um Contato" itemValue="0"/>
<f:selectItems var="contOm" value="#{contatoBean.lista}"
itemLabel="#{contOm.nome}"
itemValue="#{contOm.idcontato}"/>
</p:selectOneMenu>
<p:commandButton id="novocontato" oncomplete="dialogContato.show();" value="Novo Contato"/>
</h:panelGrid>
</p:tab>
<p:tab id="tab5" title="Dias do Evento">
<p:dataTable id="tabelaDiaEvento" var="diaevt" value="#{eventoBean.listaDiaevento}" paginator="true" rows="3"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="3,6">
<f:facet name="header">
// CODIGO DO COMPONENTE CALENDAR
<p:calendar value="#{ dataBean.date}" id="calendariodialogo" />
<p:commandButton id="adicionardiaevento" immediate="true" actionListener="#{dataBean.teste()}" update="tabelaDiaEvento" value="Adicionar Dia Evento" />
</f:facet>
<p:column>
<f:facet name="header">
<h:outputText value="Dia do Evento"/>
</f:facet>
<h:outputText value="#{diaevt.dataE}">
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:outputText>
</p:column>
<p:column>
<p:commandButton id="excluirdiaev" ajax="true" immediate="true" action="#{eventoBean.removerDiaEvento()}" update="tabelaDiaEvento"
value="Excluir" onclick="if (!confirm('Confirma a exclusão do Produto Material #{promat.nome}?'))
return false;">
<f:setPropertyActionListener target="#{eventoBean.diaevento}" value="#{diaevt}"/>
</p:commandButton>
</p:column>
</p:dataTable>
</p:tab>
</p:tabView>
<p:commandButton id="salvarevento" action="#{eventoBean.salvar}" value="Salvar" update=":formEvento:tabelaEvento" onclick="dialogEvento.hide();"/>
</p:dialog>
</h:form>
Codigo do DataBean de teste:
@ManagedBean
public class DataBean {
private Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public void teste(){
System.out.println("teste");
System.out.println(this.date);
}
}