JSF radiobutton dos inferno

2 respostas
felipef

Pessoal blza?

Tenho o seguinte radio
<h:selectOneRadio id="prestacaoRadio" 
										value="#{informarDadosCartaoFacade.prestacao}"
										requiredMessage="Nº de parcelas: Erro de validação: o valor é necessário." 
										required="true" layout="pageDirection">
								      	<f:selectItems id="customItems" var="p"
								      		value="#{informarDadosCartaoFacade.prestacoes}"  
								      		itemLabel="#{p.descricao}" itemValue="#{p}"/>
								      	<f:converter converterId="integerConverter" />
								    </h:selectOneRadio>

Meu converter

package br.com.converter;

import java.util.Map;

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

import br.com.financeiro.Prestacao;

@FacesConverter(value="integerConverter")
public class IntegerConverter implements Converter {  

	public Object getAsObject(FacesContext ctx, UIComponent component, String value) {  
        if (value != null) {  
            return this.getAttributesFrom(component).get(value);  
        }  
        return null;  
    }  
  
    public String getAsString(FacesContext ctx, UIComponent component, Object value) {  
  
        if (value != null  
                && !"".equals(value)) {  
  
            Prestacao entity = (Prestacao) value;  
  
            // adiciona item como atributo do componente  
            this.addAttribute(component, entity);  
  
            Integer codigo = entity.getNrPrestacao();  
            if (codigo != null) {  
                return String.valueOf(codigo);  
            }  
        }  
  
        return (String) value;  
    }  
  
    protected void addAttribute(UIComponent component, Prestacao o) {  
        String key = o.getNrPrestacao().toString(); // codigo da empresa como chave neste caso  
        this.getAttributesFrom(component).put(key, o);  
    }  
  
    protected Map<String, Object> getAttributesFrom(UIComponent component) {  
        return component.getAttributes();  
    }  
}

Mas quando submeto da a seguinte mensagem

prestacaoRadio: Erro de validação: o valor não é válido

Alguem consegue me dizer o que estou fazendo errado?

2 Respostas

ErickRAR

Reescreveu os métodos equals e hashcode?

felipef

Sim, fiz isso tb

acabei de descobrir q nao tinha implementado a minha classe Prestacao como Serializable, fiz isso e funcionou

Criado 14 de junho de 2012
Ultima resposta 14 de jun. de 2012
Respostas 2
Participantes 2