Problemas com Data (usando VRaptor)

3 respostas
R

Prezados,

Tenho um atributo do tipo Date (ja tentei java.sql.Date e java.util.Date) na minha Classe Cliente.

Quando tento persistir usando o formato dd/mm/aaaa, obtenho o seguinte erro:
???is_not_a_valid_date???

Quando tento persistir usando o formato aaaa-mm-dd ou aaa-dd-mm ela salva, mas o valor salvo é completamente diferente do digitado (0022-05-16 00:00:00.0
e 0017-10-14 00:00:00.0 para os respectivos formatos usando a data de 16/11/2009)

Qual a melhor maneira de corrigir isso? É necessário criar uma tag lib pra resolver?

3 Respostas

Lucas_Cavalcanti

crie um DateConverter pro padrão que vc está usando:

@Converts(Date.class)
public class DateConverter implements Converter<Date> {

    public Date convert(String value, .....) {
        return new SimpleDateFormat("dd/mm/aaaa").parse(value);
    }
}

ou algo do tipo… vc vai ter q tratar os casos de ser nulo ou vazio tb…

R

Oi Lucas,

Fiz da forma que você falou, mas não houve diferença.
A classe ficou assim:

@Convert(Date.class)
@ApplicationScoped
public class DateConverter implements Converter<Date> {

	public Date convert(String value, Class<? extends Date> type, ResourceBundle bundle) {
		if (value == null || value.equals("")) {
			return null;
		}
		try {
			return (Date) new SimpleDateFormat("dd/mm/aaaa").parse(value);
		} catch (ParseException e) {
			e.printStackTrace();
			throw new ConversionError(MessageFormat.format(bundle.getString("is_not_a_valid_date"), value));
		}
	}

}

Precisa de alguma referencia no jsp?

Lucas_Cavalcanti

Vc fez o import certo? tem que ser o mesmo Date que está na sua classe…

debuga e ve se tá passando por essa classe…

Criado 21 de fevereiro de 2010
Ultima resposta 21 de fev. de 2010
Respostas 3
Participantes 2