Fórum java.lang.Integer cannot be cast to entity.Produto #458888
19/10/2013
0
Estou construindo uma pequena aplicação java web com netbeans e, ao carregar a pagina gera um erro de converção. o erro é o seguinte:
FATAL: JSF1073: java.lang.ClassCastException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=java.lang.Integer cannot be cast to entity.Produto
FATAL: java.lang.Integer cannot be cast to entity.Produto
java.lang.ClassCastException: java.lang.Integer cannot be cast to entity.Produto
at converter.ProdutoConverter.getAsString(ProdutoConverter.java:39)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:521)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:534)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:794)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:847)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:297)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
Abaixo aqui vem o codigo de conversão:
package converter;
import dao.ProdutoDAO;
import entity.Produto;
import java.sql.SQLException;
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;
public class ProdutoConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
try {
int codigo = Integer.parseInt(value);
return new ProdutoDAO().produtoFind(codigo);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ProdutoConverter.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(ProdutoConverter.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
System.out.println("Value: "+ value);
Produto produto = (Produto)value;
return String.valueOf(produto.getCod_prod());
}
}
Por fim, fiz o cadastro do meu converter na minha faces-config de seguinte modo:
<converter>
<converter-id>ProdutoConverter</converter-id>
<converter-class>converter.ProdutoConverter</converter-class>
</converter>
ALGUEM PODE ME AJUDAR A RESOLVER ESTE ERRO? POR VAFOR...
Joaquim Kitare
Curtir tópico
+ 0Posts
19/10/2013
Joaquim Kitare
Estou construindo uma pequena aplicação java web com netbeans e, ao carregar a pagina gera um erro de converção. o erro é o seguinte:
FATAL: JSF1073: java.lang.ClassCastException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=java.lang.Integer cannot be cast to entity.Produto
FATAL: java.lang.Integer cannot be cast to entity.Produto
java.lang.ClassCastException: java.lang.Integer cannot be cast to entity.Produto
at converter.ProdutoConverter.getAsString(ProdutoConverter.java:39)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:521)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:534)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:794)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:847)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:297)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
Abaixo aqui vem o codigo de conversão:
package converter;
import dao.ProdutoDAO;
import entity.Produto;
import java.sql.SQLException;
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;
public class ProdutoConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
try {
int codigo = Integer.parseInt(value);
return new ProdutoDAO().produtoFind(codigo);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ProdutoConverter.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(ProdutoConverter.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
System.out.println("Value: "+ value);
Produto produto = (Produto)value;
return String.valueOf(produto.getCod_prod());
}
}
Por fim, fiz o cadastro do meu converter na minha faces-config de seguinte modo:
<converter>
<converter-id>ProdutoConverter</converter-id>
<converter-class>converter.ProdutoConverter</converter-class>
</converter>
ALGUEM PODE ME AJUDAR A RESOLVER ESTE ERRO? POR VAFOR...
Estou construindo uma pequena aplicação java web com netbeans e, ao carregar a pagina gera um erro de converção. o erro é o seguinte:
FATAL: JSF1073: java.lang.ClassCastException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=java.lang.Integer cannot be cast to entity.Produto
FATAL: java.lang.Integer cannot be cast to entity.Produto
java.lang.ClassCastException: java.lang.Integer cannot be cast to entity.Produto
at converter.ProdutoConverter.getAsString(ProdutoConverter.java:39)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:521)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:534)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:794)
at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:847)
at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:297)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:924)
Abaixo aqui vem o codigo de conversão:
package converter;
import dao.ProdutoDAO;
import entity.Produto;
import java.sql.SQLException;
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;
public class ProdutoConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
try {
int codigo = Integer.parseInt(value);
return new ProdutoDAO().produtoFind(codigo);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ProdutoConverter.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(ProdutoConverter.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
Produto produto = (Produto)value;
return String.valueOf(produto.getCod_prod());
}
}
Por fim, fiz o cadastro do meu converter na minha faces-config de seguinte modo:
<converter>
<converter-id>ProdutoConverter</converter-id>
<converter-class>converter.ProdutoConverter</converter-class>
</converter>
ALGUEM PODE ME AJUDAR A RESOLVER ESTE ERRO? POR VAFOR...
Gostei + 0
20/10/2013
Luciano Martins
produto.getCodigo();
Gostei + 0
20/10/2013
Joaquim Kitare
Gostei + 0
20/10/2013
Luciano Martins
Substituia isto:
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
Produto produto = (Produto)value;
return String.valueOf(produto.getCod_prod());
}
Por isto:
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
return String.valueOf(value);
}
Gostei + 0
21/10/2013
Joaquim Kitare
•j_idt5:j_idt14: Validation Error: Value is not valid
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)
Inserção de url
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.