JSF Converter em aplicação Spring, JSF, JPA

2 respostas
smorigo

Boa noite pessoal estou com problema com meus Converter, estou criando os mesmos da seguinte maneira:

package br.com.fato.juridico.converter;

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

import br.com.fato.juridico.bean.Cidade;
import br.com.fato.juridico.web.CidadeWeb;

public class CidadeConverter implements Converter {

	public Object getAsObject(FacesContext facesContext, UIComponent arg1, String arg2) throws ConverterException {
		Cidade cidade = null;
		try {
			CidadeWeb cidadeWeb = (CidadeWeb) facesContext.getApplication().getVariableResolver().resolveVariable(facesContext, "Cidade");
			cidade = (Cidade) cidadeWeb.getCidade(Long.valueOf(arg2));
		} catch (Exception e) {
			System.out.print(e.getMessage());
		}

		return cidade;
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object object) throws ConverterException {
		if (object == null) {
			return String.valueOf("");
		}
		return object.toString();
	}

}

Estou utilizando a classe já existente para recuperar o objeto mas não está funcionando dessa maneira o que eu devo fazer ? pois quando tento persisrtir aparentemente o meu Converter está recuperando o objeto mas a hora de persistir exibe que o valor não é valido.

Obrigado

2 Respostas

Kenobi

Poderia colar exatamente a excessão que está tendo ?

smorigo

Bom dia pessoal, exception mesmo não está acontecendo, ele está exibindo aquela mensagem de que o valor não é valido ao tentar dar um submit no formulário.

Em meu applicationContext.xml a classe que está recebendo a sessão do Spring é chamada de ClienteWeb nela é onde coloquei tanto o método que cria o Map <String, Long> e o método carregaSegmento(Long codigo), já no meu SegmentoConverter estou recuperando o ClienteWeb da seguinte maneira:

public class SegmentoConverter implements Converter {

	public Object getAsObject(FacesContext facesContext, UIComponent arg1, String arg2) throws ConverterException {	
		ClienteWeb clienteWeb = (ClienteWeb) facesContext.getApplication().getVariableResolver().resolveVariable(facesContext, "Cliente");
		return (Segmento) clienteWeb.carregaSegmento(Long.valueOf(arg2));
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object object) throws ConverterException {
		if (object == null) {
			return String.valueOf("");
		}
		return object.toString();
	}

}

Alguém possui uma sugestão ? estou usando MyFaces 1.1.6, testei com a lib do 1.1.5 e o mesmo erro ocorre.

Criado 11 de abril de 2007
Ultima resposta 13 de abr. de 2007
Respostas 2
Participantes 2