Estou com problema ainda não solucionado e também não obtive resposta:
Eu tenho uma Classe chamada Idade.java e com seus atributos e métodos eu calcule a Idade passando parâmetros para JSP em um input.
package br.com.pesquisamercado.modelo;
importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.time.LocalDate;importjava.time.Period;importjava.time.format.DateTimeFormatter;importjava.time.format.FormatStyle;importjava.util.Calendar;importjava.util.Date;importjava.util.GregorianCalendar;importjava.util.Locale;importjava.util.Scanner;publicclassIdade{privateintidade;privateDatedataAtual;privateObjectdataNascimento;publicintgetIdade(){returnidade;}publicvoidsetIdade(intidade){this.idade=idade;}publicintcalcularIdade(DatedataNascimento)throwsParseException{LocalDatenascimento=LocalDate.of(((LocalDate)this.dataNascimento).getYear(),idade,idade);finalLocalDatedataAtual=LocalDate.now();Periodperiodo=Period.between(nascimento,dataAtual);returnidade;}}// Não tenho certeza se o método está certo ============
Tenho o JSP que faz o input pela data de nascimento
O objetivo não é retornar a idade? Isso está sendo feito no método que você colocou aí.
Agora, se a ideia é exibir a idade na página, então você precisa mostrar como está a servlet (creio que esteja usando servlet + jsp, certo?)
T
Thiago_Lima1011
Sim, como fiz a jsp, está com a seguinte mensagem de erro:
//Fragmento da página jsp
Data de Nascimento:
<%
Date nascimento= new Date(request.getParameter("dataNascimento"));
Idade idade = new Idade().calcularIdade(nascimento); //
type mismatch: cannont convert from int to Idade
%>
Idade:
/>
T
Thiago_Lima1011
Em uma parte da Servlet: int idade = Integer.parseInt(request.getParameter(“idade”));
D
darlan_machado
É que você, por alguma razão, decidiu criar uma classe chamada Idade.
Este objeto idade (com i minúsculo) é uma instância da classe Idade (Com I maiúsculo).
Você precisa decidir se vai usar int ou vai usar Idade.
T
Thiago_Lima1011
Com Idade (maíusculo) será utilizado também em outra página para reutilizar o código e quero usar o Idade mesmo e não o int.
D
darlan_machado
Então você precisa adequar teu código para que, ao invés de inteiro, ele devolva uma instância de Idade.
T
Thiago_Lima1011
Nesse caso ele precisa retornar aquele valor calculado. Não seria isso?
D
darlan_machado
Está se referindo a qual valor calculado? Se é o que está nesse método
Cara, você está estudando com base em que? Vídeo aula? Curso? Apostila?
T
Thiago_Lima1011
Cheguei a fazer curso de Java presencial e também Java Web.
Porém estou desenvolvendo um sistema Web que faça também esse processo.
D
darlan_machado
Então você deveira lembrar que, quando você vai instanciar um objeto que não está no pacote padrão (java.lang) ou não é acessível diretamente pela servlet, você precisa fazer o import dessa classe
T
Thiago_Lima1011
Entendi
T
Thiago_Lima1011
Talvez eu tenha que estudar mais…Darlan…também tenha esse quesito também
D
darlan_machado
Essa área vai exigir que você sempre esteja estudando.
Todo dia aparecem 1000 novas tecnologias para serem usadas. Alguma delas vai ser o foco em algum momento.
T
Thiago_Lima1011
Compreendi.
T
Thiago_Lima1011
Eu consegui ajustar o método sendo que agora a model está OK.
package br.com.pesquisamercado.modelo;
}
No formulário que tem um campo chamado idade como você me mostrou precisa retornar nesse campo desabilitado a idade da pessoa.
Data de Nascimento:
Idade:
<%
Date nascimento= new Date(request.getParameter("dataNascimento"));
int idader = new Idade().calcularIdade(nascimento);
%>
Está apresentando erro, agora não sei se vou ter que colocar value=<%outprin(idader);%>
Eu entendi, pois num arquivo teste com um método main funcionou.
D
darlan_machado1 like
Qual o erro que aparece?
T
Thiago_Lima1011
Quando inicio aparece essa mensagem de erro:
5:
Idade:
96: <%
97: Date nascimento= new Date(request.getParameter(“dataNascimento”));
98: int idader = new Idade().calcularIdade(nascimento);
99: %>
100: