Tenho um campo text no meu formulário onde é preenchido data no formato dd/mm/yyyy.
Estou setando os valores dos campos do meu formulário para um bean que depois irá inserir no banco de dados.
Mas não sei o que acontece que a minha data está indo como null, os outros campos estão indo normalmente, não sei o que pode ser.
Aguém pode me ajudar.
Meu JSP:
<jsp:useBean id="Bean" class="bean.MinhaClasse" />
<jsp:setProperty name="Bean" property="*" />
.
.
.
<input type="text" size="14" name="datemissao" maxlength="14" >
.
.
.
<%
if (request.getParameter("datemissao")!= null){
out.println("Data: "+Bean.getDatEmissao());
}
%>
Meu Bean:
package bean;
import java.util.Date;
public class MinhaClasse{
private Date datEmissao;
public Date getDatEmissao() {
return datEmissao;
}
public void setDatEmissao(Date datEmissao) {
this.datEmissao = datEmissao;
}
}
vansol,
o seu input não teria que ser:
<input type="text" size="14" name="datEmissao" maxlength="14" >
no lugar de:
<input type="text" size="14" name="datemissao" maxlength="14" >
???
[]'s
carisio
Não, não é isso!
Já tentei isso e não deu certo!
vansol,
um objeto Date é construido a partir de um long, q é o número de milisegundos desde 1 de janeiro de 19(??), acho que vc não pode passar algo do tipo “dd/mm/yyyy” para ele no setDatEmissao do seu bean.
Faz o seguinte, muda o tipo do bean para String, para testar se ainda está indo null, com o nome do input correto (datEmissao).
O q eu faço pra trabalhar com data é sempre passar texto e lá na frente eu converto tudo pro tipo Date. Ah, o Date q o pessoal trabalha é o java.sql.Date e não java.util.Date, não sei pq…
[]'s
carisio
Gostaria de resolver este problema utilizando o tipo Date mesmo.

vansol,
o q eu penso é ter, no mesmo bean, um get para uma data em string e um get para um Date mesmo, q ele pega o string do formulário e faz a conversão. Olha o código exemplo. Sei q não é isso q vc quer mas fica a idéia…
Arquivo MinhaData.java, q é um Date q pode ser inicializado com uma String e q tem o método toString reescrito para poder ficar legível na tela…
package view;
import java.sql.Date;
import java.text.SimpleDateFormat;
public class MinhaData extends Date
{
private Date dat;
public MinhaData(String data)
{
super(0);
// data está no formato dd/mm/yyyy
if (data != null)
{
String s = data.substring(6,10) + "-" + data.substring(3,5) + "-" + data.substring(0,2);
setTime(Date.valueOf(s).getTime());
}
}
public String toString()
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
return sdf.format(this);
}
}
Arquivo Bean.java, q é o bean q o jsp vai conversar, tem um campo de getDataString e getData, q retornar um tipo MinhaData, q não deixa de ser um tipo Date.
package view;
public class Bean
{
private String data;;
public String getDataString()
{
return data;
}
public void setDataString(String data)
{
this.data = data;
}
public MinhaData getData()
{
// Observe q o retorno aqui poderia ser Date, pois MinhaData é um Date....
return new MinhaData(data);
}
}
E aqui o index.jsp:
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="view.Bean"%>
<%@ page import="view.MinhaData"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>untitled</title>
</head>
<body>
<form action="index.jsp">
<jsp:useBean id="bean" class="view.Bean"/>
<jsp:setProperty name="bean" property="dataString"/>
DataString atual: <jsp:getProperty name="bean" property="dataString"/> <br>
Data atual: <jsp:getProperty name="bean" property="data" /> <br>
Digite a nova data:
<input type="text" size="14" name="dataString" maxlength="14" >
<input type="SUBMIT">
</form>
</body>
</html>
Acho q dessa forma não fica muito gambiarrado, mas caso vc descubra como faz para usar o Date direto, poste aqui pra gente! 
[]'s
carisio
Fiz com o código que vc enviou, deu certo!
Obrigada!!
Se eu achar alguma coisa com Date eu posto aqui no fórum.
Valeu !

Fiz com o código que vc enviou, deu certo!
Obrigada!!
Se eu achar alguma coisa com Date eu posto aqui no fórum.
Valeu !

Fiz com o código que vc enviou, deu certo!
Obrigada!!
Se eu achar alguma coisa com Date eu posto aqui no fórum.
Valeu !
