Erro no Converter

3 respostas
M

Bom dia,

Fiz um converter pro input da data, só que não esta funcionando, tipo quando clico salvar, vai tudo errado ou ele não deixa salvar nada,
sempre alegando o erro ao converter a data, segue abaixo meu código

Converter

package com.teclogica.rodrigo.Converter;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;

public class ConverterData implements Converter {

	public Object getAsObject(FacesContext face, UIComponent arg1, String data) {
		
				SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
				Date date = new Date();
				String datac = format.format(date);
				
				if(!datac.equals(data)){
					throw new ConverterException(new FacesMessage(FacesMessage.SEVERITY_ERROR, null, "Erro na conversão da Data!"));
				}else{
					return datac;
				}
	
				
		
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
		return null;
	}
	
}

no input

<h:inputText value="#{produtoBean.produto.data}" id="data">
   					<!-- <f:converter converterId="converterData" for="data"/> -->
   				 </h:inputText>

Agradeço desde ja

3 Respostas

darksteel3000

Qual o tipo do atributo que recebe essa data? Ao meu ver ai, vc n precisa de um converter, pega essa string e transforma ela pra date normalmente. Cria uma variavel Date e vai setando de acordo com as informações que o cara passou. Mas porque não utilizas um framework que já tem até este atributo pronto?

M

Na classe ta do tipo String, deveria ser Date?, to ciente de framework que ja tem pronto, é que preciso fazer um exemplo mesmo ;D

darksteel3000

Ai depende amigo. Vou dizer do jeito que resolveria:

No MB teria o objeto do tipo Date mesmo mas no Xhtml, não criaria um converter pra data, eu utilizaria um ja pronto do JSF ne hehe. Se liga aew:

&lt;h:inputText value="#{produtoBean.produto.data}" id="data"&gt; &lt;f:convertDateTime pattern="dd/MM/yyyy" /&gt; &lt;/h:inputText&gt;

Leia mais a documentação, neste caso mesmo não precisa criar um converter de uma coisa que o JSF ja tem pronta hehe !!!

Fontes:

http://www.mkyong.com/jsf2/jsf-2-convertdatetime-example/

Criado 9 de abril de 2013
Ultima resposta 10 de abr. de 2013
Respostas 3
Participantes 2