ENC: Erro de conversão ao setar o valor '' para 'null Converter'.

1,258 views
Skip to first unread message

Rafael

unread,
Aug 16, 2010, 9:24:17 AM8/16/10
to jav...@googlegroups.com

Bom Dia pessoal!!

 

Estou iniciando meu aprendizado em jsf e estou com uma duvida que acredito que para vocês será fácil me ajudar.

 

Tenho uma tela.jsf que possui um h:selectOneMenu

<h:selectOneMenu  value="#{ServicoPedido.objs.glPedido.idSySituacaoPedido}"

      id="idSySituacaoPedido" converter="ConvSySituacaoPedido">

      <f:selectItems value="#{ListaCombo.sySituacaoPedido}" />

</h:selectOneMenu>

 

O problema é que quando eu realizo qualquer operação na tela aparece a seguinte mensagem:

Erro de conversão ao setar o valor '' para 'null Converter'.

 

Abaixo segue a classe ConvSySistuacaoPedido  que é meu converter

 

public ConvSySituacaoPedido() {

    }

 

    public Object getAsObject(FacesContext facesContext, UIComponent uIComponent, String string) {

        if (string == null) {

            return null;

        } else {

            if (string.equals("")) {

                string = null;

            }

        }

        Integer id = null;

        if (string != null) {

            id = new Integer(string);

        }

        SySituacaoPedido a = null;

        try {

            Criteria c = Hutil.getSessao().createCriteria(SySituacaoPedido.class);

            c.add(Restrictions.eq("idSySituacaoPedido", id));

            if (c.list().size() != 0) {

                a = (SySituacaoPedido) c.list().get(0);

            }

        } catch (HibernateException ex) {

            ex.printStackTrace();

        }

        return a;

    }

    public String getAsString(FacesContext facesContext, UIComponent uIComponent, Object object) {

        if (object == null) {

            return null;

        }

        if (object.equals("")) {

            return null;

        }

        if (object instanceof SySituacaoPedido) {

            SySituacaoPedido o = (SySituacaoPedido) object;

            return "" + o.getIdSySituacaoPedido();

        } else {

            throw new IllegalArgumentException("object:" + object + " of type:" + object.getClass().getName() + "; expected type: SySituacaoPedido");

        }

    }

}

 

Declarei essa classe no faces. Não apresenta nenhum erro de código, espero que possam me ajudar a solucionar esse problema.

 

 

Obrigado!!

Rafael Ponte

unread,
Aug 16, 2010, 10:06:16 AM8/16/10
to jav...@googlegroups.com
Olá Rafael,

Talvez seu problema esteja relacionado a identidade das tuas entidades (http://www.rponte.com.br/2008/02/01/selectonemenu-converter-erro-de-validacao/) ou quem sabe ao escopo conversacional (os últimos comentários do post podem te ajudar).

No mais, qualquer dúvida estamos aqui para ajudar.

Abraços e boa sorte.

2010/8/16 Rafael <rafaelg...@gmail.com>
--
Você recebeu esta mensagem por que é membro do Google Group "Javasf".
http://groups.google.com/group/javasf
 
Conheça também:
- Grupo Java Brazil em http://groups.google.com/group/thejavabrazil
- Empregos/Oportunidades JSF em http://bit.ly/empregosjsf



--
Rafael Ponte
http://www.rponte.com.br
Reply all
Reply to author
Forward
0 new messages