Conversion Error setting value '1' for 'null Converter'

Pessoal, seguinte:

fiz uma pequena aplicação exemplo web, utilizando JSF e Hibernate. Nela, possuo um selectOneMenu. Tudo adicionado e funcionado, porém quando entro na página e clico no “Salvar”, nada acontece, dando apenas refresh na página. Apurei no log do tomcat, o erro Conversion Error setting value ‘1’ for ‘null Converter’. Pesquisando na net, descobri que deveria utilizar um Converter. Busquei e fiz vários testes. Abaixo eis o que tenho, mas porém não consegui funcionar. Já tentei de tudo pessoal, se alguém puder me ajudar…Desde já obrigado…

novoproduto.jsp

<h:selectOneMenu value="#{ProdutoFace.selectedProduto.criador}"> <f:selectItems value="#{ProdutoFace. <f:converter converterId="IntegerConverter" /> </h:selectOneMenu>

faces-config.xml

<converter> <converter-id>IntegerConverter</converter-id> <converter-class>hibernateApp.converter.IntegerConverter</converter-class> </converter>

IntegerConverter.java (achei na net)


package hibernateApp.converter;

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

public class IntegerConverter implements Converter {

           public Object getAsObject(FacesContext arg0, UIComponent arg1, String valor) throws ConverterException {
          Integer resultado = null;
           try {
              resultado =  new Integer(Integer.parseInt(valor));
           } catch (NumberFormatException nfe) {
              throw new ConverterException(valor + " não é um número válido!", nfe);
           }
           return resultado;
       }
   

       public String getAsString(FacesContext arg0, UIComponent arg1, Object obj) throws ConverterException {

          String resultado ="";
           if (obj != null) {
              resultado = obj.toString();
                     }
          return resultado;
          }
}

Desta forma também

<h:selectOneMenu value="#{ProdutoFace.selectedProduto.criador}" converter="IntegerConverter"> <f:selectItems value="#{ProdutoFace.usuariosDoSistema}"/> </h:selectOneMenu>

Já tentei usar

<f:convertNumber integerOnly="true"/>

Quando coloco qualquer uma das opções, continua sem acontecer nada, mas pelo tomcat, o erro muda para An error occurred when processing your submitted information.

To precisando resolver urgente…se alguél puder me ajudar…Obrigado!

creio que seu erro não esta no converter e sim no beam que vc esta setando para o selectOneMenu. Você deve setar o codigo do criador por exemplo value= “#{ProdutoFace.selectedProduto.criador.codigo}”. e o seu selectItem deve retornar a lista de usuarios do sistema, com o codigo e o nome do usuário. Creio que você esteja fazendo essa parte certo.

<h:selectOneMenu value="#{ProdutoFace.selectedProduto.criador.codigo}">
<f:selectItems value="#{ProdutoFace.usuariosDoSistema}"/>
</h:selectOneMenu>

Na verdade eu já até olhei isso. Tava realmente passando errado, depois consertei. Verifiquei, tá certinho, passando o id no value e a descrição no label…o que será que pode ser então?!

vlws…

Eae amigo, td bem?
Sei que o post é antigo, mas conseguiu resolver seu problema??