Converter String para Date(request.getParameter)

7 respostas
java
tiago.frioli

Boa noite,

Pessoal eu tenho um formulário em JSP que realiza um cadastro que possui uma data.

<form  method="Post" action="InserirCompromisso">
            titulo : <input type="text" name="titulo" required="true">
            local : <input type="text" name="local" required="true">
            data : <input type="text" name="data">
            <input type="submit" value="Cadastrar">

        </form>

E ai que está o problema.Como eu faço para converter essa String do input utilizando o request.getParameter como fiz com as outras Strings ??A maneira que fiz no meu Servlet não está rolando.Alguém por favor poderia me ajudar.

Segue meu Servlet abaixo.

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String Titulo = request.getParameter("titulo");
    String Local = request.getParameter("local");
    String dataEmTexto = request.getParameter("data");
    Calendar data = null;

    try {
        Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);
        data = Calendar.getInstance();
        data.setTime(date);
    } catch (ParseException e) {
        out.println("Erro de conversão da data");
        return; //para a execução do método
    }

    Compromisso compromisso = new Compromisso();
    compromisso.setTitulo(Titulo);
    compromisso.setLocal(Local);
    compromisso.setData(data);


    CompromissoDAO dao = new CompromissoDAO();
    String retorno = dao.inserir(compromisso);
    if(retorno.equals("sucesso")){

        response.sendRedirect("index.jsp");

    }else{
        PrintWriter out = response.getWriter();
        out.print("<html>");
        out.print("<h2>Não foi possivel inserir</h2>");
        out.print("<br>");
        out.print("</html>");
    }

}

Obrigado

7 Respostas

pmlm

Qual é o erro que dá?

tiago.frioli

BOm dia, obrigado por responder.

Está dando um erro nessa linha:

compromisso.setData(data);

O erro é esse : incompatible types : Calendar cannot be converted to Date.

Daniel_Dias

Vê se essa resposta te ajuda:

pmlm

Se só precisas de Date, esta linha é suficiente para teres um Date.

tiago.frioli

Só esta linha ? Mas preciso pegar a String do input com o request.getParemeter antes não ?Assim:

String dataEmTexto = request.getParameter("data");
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataEmTexto);

Me corrija se estiver falando besteira.

Obrigado por responder !!

pmlm

Claro, tens de obter antes do request. Eu estava a falar do bloco dentro do try. Aí não precisas de criar um Calendar.

tiago.frioli

Vou tentar.
Obrigado pela ajuda!!!

Criado 6 de março de 2016
Ultima resposta 7 de mar. de 2016
Respostas 7
Participantes 3