GUJ / Front-end / Topico Incrementar data(RESOLVIDO) 29 de maio de 2012 3 respostas C clever 29 de maio de 2012 Pessoal tenho 2 campos calender, um dataInicial e outro dataFinal. Preciso que quando a dataFinal estiver vazia, quando selecionar a dataInicial, pegue essa dataInicial e acrescente mais 30 dias e jogue na dataFinal. Estou fazendo assim: HTML: <h:panelGroup> <h:outputLabel id="optDtInicial" value="#{msgs.optDtInicial}" /> <br/> <p:calendar id="cDtInicial" value="#{veiculoManutencaoMBean.selectedManutencaoVeiculo.dtinicial}" maxlength="10" navigator="true" showOtherMonths="true" pattern="dd/MM/yyyy" required="true" requiredMessage="#{msgs.cDtInicial}" locale="pt_BR" converterMessage="#{msgs.cDataInicialInvalida}" maxdate="#{veiculoManutencaoMBean.selectedManutencaoVeiculo.dtfinal}" onblur="validateDate(this);" onkeyup="formataData(this,event)" size="45"> <p:ajax event="dateSelect" update="cDtInicial cDtFinal" listener="#{veiculoManutencaoMBean.dataIncremental}"/> </p:calendar> </h:panelGroup> <p:spacer width="7" /> <h:panelGroup> <h:outputLabel id="optDtFinal" value="#{msgs.optDtFinal}" /> <br/> <p:calendar id="cDtFinal" value="#{veiculoManutencaoMBean.selectedManutencaoVeiculo.dtfinal}" maxlength="10" navigator="true" showOtherMonths="true" pattern="dd/MM/yyyy" locale="pt_BR" converterMessage="#{msgs.cDataFinalInvalida}" mindate="#{veiculoManutencaoMBean.selectedManutencaoVeiculo.dtinicial}" onblur="validateDate(this);" onkeyup="formataData(this,event)" size="45"> <p:ajax event="dateSelect" update="cDtInicial cDtFinal" /> </p:calendar> </h:panelGroup> Bean: public void dataIncremental() { Calendar dataIncrementada = Calendar.getInstance(); if(veiculoManutencao.getDtfinal() == null) { dataIncrementada.setTime(veiculoManutencao.getDtinicial()); dataIncrementada.add(Calendar.DAY_OF_MONTH, 30); dataIncrementada.getTime(); } } Mas assim da NullPointerException porque ele não encontra o valor da dataInicial. Alguém sabe como posso resolver esse problema? Alura Desenvolvimento Front-End React Do primeiro componente à liderança técnica! HTML/CSS/JavaScript fundamental, React com hooks e... 3 Respostas Hebert_Coelho 29 de mai. de 2012 Qual o scope do seu ManagedBean? A andre.froes 30 de mai. de 2012 não entendi direito uma coisa no teu código, na tua página tu vinculou a data assim: value="#{veiculoManutencaoMBean.selectedManutencaoVeiculo.dtinicial}" e ao recuperar no teu managedbean tu recuperou dataIncrementada.setTime(veiculoManutencao.getDtinicial()); para que isso funcione você deveria acessar a data que você apontou na tua view correto? ficaria assim, não? ... dataIncrementada.setTime(getSelectedManutencaoVeiculo().getDtinicial()); ... C clever 30 de mai. de 2012 Pessoal funcionou, ficou assim: Bean: public void dataIncremental() { Calendar dataIncrementada = Calendar.getInstance(); if(veiculoManutencao.getDtfinal() == null) { dataIncrementada.setTime(veiculoManutencao.getDtinicial()); dataIncrementada.add(Calendar.DAY_OF_MONTH, 30); veiculoManutencao.setDtfinal(dataIncrementada.getTime()); } } Ai chamo o método depois de salvar. Vlw. Criado 29 de maio de 2012 Ultima resposta 30 de mai. de 2012 Respostas 3 Participantes 3 Topicos relacionados Compilar e executar uma classe java pelo prompt do windows 13 respostas [RESOLVIDO] Como executar função JavaScript após página carregada 13 respostas Java.lang.OutOfMemoryError: Java heap space - Como resolver? 11 respostas Como consultar CPF na Receita Federal usando Web Service? 22 respostas Como acessar localhost de forma externa? [RESOLVIDO] 13 respostas Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo! Casa do Codigo Aprenda JavaScript com Dashboards: Seus primeiros passos... Por Lucas Tauil — Casa do Codigo