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!