Problemas com conversor JSF
Olá estou com um problema com meu conversor ...
tenho uma classe categoria e a classe produto
eu preciso gravar um produto recuperando uma categoria porem dá o seguinte erro
j_id_jsp_55025750_3:j_id_jsp_55025750_6: Validation Error: Value is not valid
fiz o método selectItem e também criei o conversor, sei que esse erro se dá pelo fato
não ter os métodos equlas e hashcode, mas eles estão implementados na minha classe de categoria
Alguem pode Me ajudar??
Julio Cesar.
Curtidas 0
Respostas
Julio Cesar.
06/10/2010
Bom corrigi este primeiro erro agora acontece isso
Resolvi populando o getCategory com os campos da tabela...
javax.servlet.ServletException: #{productFace.finishAddNewProd}: java.sql.SQLException: Incorrect integer value: '' for column 'category' at row 1
att,
Julio
GOSTEI 0
Davi Costa
06/10/2010
Julio,
já houve outras threads aqui
a respeito de conversor de ante mão queria te dizer que existe alguns conversores genéricos
por aí.. rapidim vc vai encontrar na rede, pode acreditar um conversor que serve para todas as entidades,
é só configurar no faces-config e utilizá-lo para todas as entidades.
Caso continue dando erro mesmo com esse conversor genérico comece a desconfiar que é outra coisa.
Att Davi
já houve outras threads aqui
a respeito de conversor de ante mão queria te dizer que existe alguns conversores genéricos
por aí.. rapidim vc vai encontrar na rede, pode acreditar um conversor que serve para todas as entidades,
é só configurar no faces-config e utilizá-lo para todas as entidades.
Caso continue dando erro mesmo com esse conversor genérico comece a desconfiar que é outra coisa.
Att Davi
GOSTEI 0
Andrei Hirata
06/10/2010
Estou postando um exemplo simples de conversor.Caso não entende, entre em contato novamente por aqui
USANDO JAVA EE6 com JSF 2.0
---------------CONVERSOR-------------------------------------------------
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sistemaagropecuariawar.converter; import br.com.sistemaagropecuaria.entity.Cargos;
import br.com.sistemaagropecuaria.sessionBean.interfaces.CargosSessionBeanLocal;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent; import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException; @FacesConverter(value = "CargosConverter" , forClass = CargosConverter.class)
public class CargosConverter implements Converter { @Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) { //string para objeto
if (arg2 != null) {
return lookupCargosSessionBean().getCargosByDescricao(arg2);
}
return null;
} @Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) { //objeto para string
if (arg2 != null) {
Cargos cargos = (Cargos) arg2;
return cargos.getDescricao(); }
return null;
} private CargosSessionBeanLocal lookupCargosSessionBean() {
try {
Context c = new InitialContext();
return (CargosSessionBeanLocal) c.lookup("java:global/SistemaAgropecuaria-war/CargosSessionBean!br.com.sistemaagropecuaria.sessionBean.interfaces.CargosSessionBeanLocal");
} catch (NamingException ne) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
throw new RuntimeException(ne);
}
}
}
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sistemaagropecuariawar.converter; import br.com.sistemaagropecuaria.entity.Cargos;
import br.com.sistemaagropecuaria.sessionBean.interfaces.CargosSessionBeanLocal;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.component.UIComponent; import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException; @FacesConverter(value = "CargosConverter" , forClass = CargosConverter.class)
public class CargosConverter implements Converter { @Override
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) { //string para objeto
if (arg2 != null) {
return lookupCargosSessionBean().getCargosByDescricao(arg2);
}
return null;
} @Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) { //objeto para string
if (arg2 != null) {
Cargos cargos = (Cargos) arg2;
return cargos.getDescricao(); }
return null;
} private CargosSessionBeanLocal lookupCargosSessionBean() {
try {
Context c = new InitialContext();
return (CargosSessionBeanLocal) c.lookup("java:global/SistemaAgropecuaria-war/CargosSessionBean!br.com.sistemaagropecuaria.sessionBean.interfaces.CargosSessionBeanLocal");
} catch (NamingException ne) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
throw new RuntimeException(ne);
}
}
}
GOSTEI 0
Julio Cesar.
06/10/2010
Resolvido,
valeu Andrei....
GOSTEI 0
Dyego Carmo
06/10/2010
Perfeito , poderia fechar o topico ?
GOSTEI 0