Erro ao converter para Calendar

8 views
Skip to first unread message

Leonardo Torres

unread,
Oct 23, 2017, 3:30:57 PM10/23/17
to caelum-...@googlegroups.com
Boa tarde pessoal, 

Tenho um campo na view do tipo date (HTML5) e quando ocorre o submit do form o
VRaptor não consegue pegar esse valor e converter para um Calendar. O converter padrão não deveria funcionar? 

--
Obrigado
Leonardo Torres.

"Vocês me procurarão e me acharão quando me procurarem de todo o coração".
Jr 29:13


Marcio Angelo Matté

unread,
Oct 23, 2017, 3:34:42 PM10/23/17
to caelum-...@googlegroups.com
Depende Leonardo, 

Eu tive alguns problemas com Datas e os converters do VRaptor, aí eu criei o meu próprio converter para o Java LocalDateTime e usei o padrão ISO da data que volta do Javascript.

Me baseei neste:


[]'s


--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Marcio Angelo Matté
marcio...@gmail.com

Marcio Angelo Matté

unread,
Oct 23, 2017, 3:38:01 PM10/23/17
to caelum-...@googlegroups.com
Um exemplo:

import java.lang.reflect.Type;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

import javax.enterprise.context.Dependent;

import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

@Dependent
public class ISOLocalDateConverter implements JsonDeserializer<LocalDate>, JsonSerializer<LocalDate> {

	private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ISO_LOCAL_DATE;
	
	@Override
	public JsonElement serialize(LocalDate t, Type arg1, JsonSerializationContext arg2) {
		return new JsonPrimitive(FORMATTER.format(t));
	}

	@Override
	public LocalDate deserialize(JsonElement je, Type arg1, JsonDeserializationContext arg2)
			throws JsonParseException {
		return FORMATTER.parse(je.getAsString(), LocalDate::from);
	}

}

Em 23 de outubro de 2017 17:30, Leonardo Torres <leonard...@gmail.com> escreveu:

--
Você recebeu essa mensagem porque está inscrito no grupo "caelum-vraptor" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para caelum-vraptor+unsubscribe@googlegroups.com.
Para postar nesse grupo, envie um e-mail para caelum-vraptor@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/caelum-vraptor.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages