Fórum Erro no Converter #409744
24/11/2011
0
Informações: WARNING: FacesMessage(s) have been enqueued, but may not have been displayed.
sourceId=j_id_jsp_1404141265_3:j_id_jsp_1404141265_5[severity=(ERROR 2), summary=(j_id_jsp_1404141265_3:j_id_jsp_1404141265_5: Validation Error: Value is not valid), detail=(j_id_jsp_1404141265_3:j_id_jsp_1404141265_5: Validation Error: Value is not valid)]
Luiz Silva
Curtir tópico
+ 0Posts
24/11/2011
Davi Costa
Arriscaria que é jsf... se for vc vai ter que implementar um converter
att Davi
Gostei + 0
24/11/2011
Luiz Silva
public class ContratoConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
throws ConverterException{
if(value == null){
return null;
}
return new ContratoDAO().getContrato(Integer.parseInt(value));
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object object)
throws ConverterException{
if(object == null){
return null;
}
Contrato con = (Contrato) object;
return con.getIdcontrato().toString();
}
}
ele carrega meu SelectOneMenu
<h:selectOneMenu value=#{controleQualidadeFace.selectedControleQualidade.contrato}>
<f:selectItems value=#{controleQualidadeFace.contratoControle}/>
<f:converter converterId=ConverterContrato/>
</h:selectOneMenu>
mas na hora de gravar ele não consegue
att Tavinho
Gostei + 0
25/11/2011
Davi Costa
att Davi
Gostei + 0
25/11/2011
Luiz Silva
<faces-config version=1.2
xmlns=http://java.sun.com/xml/ns/javaee
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd>
<converter>
<converter-id>ConverterContrato</converter-id>
<converter-class>Conversores.ContratoConverter</converter-class>
</converter>
Gostei + 0
25/11/2011
Luiz Silva
public List<SelectItem> getContratoControle() {
List<SelectItem> toReturn = new LinkedList<SelectItem>();
for (Contrato con : conDAO.getContratos()) {
toReturn.add(new SelectItem(con,con.getProdutor().getNome())); - ACHO K É AKI
}
return toReturn;
}
Na tela de Controle de Qualidade eu tenho o id do contrato mas quero mostrar o nome do produtor k esta nakele contrato, eu consigo fazer isso, mas na hora de gravar k não da certo
Att Tavinho
Gostei + 0
25/11/2011
Davi Costa
List<SelectItem> toReturn = new LinkedList<SelectItem>();
for (Contrato con : conDAO.getContratos()) {
toReturn.add(new SelectItem(con.getCod(),con.getProdutor().getNome())); // ACHO K É AKI
}
return toReturn;
}
Obviamente esse método con.getCod(), vai ser o seu id....
qdo chegar no converter:
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value)
throws ConverterException{
if(value == null){
return null;
}
return new ContratoDAO().getContrato(Integer.parseInt(value));
}
Vai dar certo.
Testa ai.
abcs att Davi
Gostei + 0
25/11/2011
Luiz Silva
public List<SelectItem> getContratoControle() {
List<SelectItem> toReturn = new LinkedList<SelectItem>();
for (Contrato con : conDAO.getContratos()) {
toReturn.add(new SelectItem(con.getIdcontrato(),con.getProdutor().getNome()));
}
return toReturn;
}
ele da esse erro
java.lang.ClassCastException: java.lang.Integer cannot be cast to Persistente.Contrato
Conversores.ContratoConverter.getAsString(ContratoConverter.java:29)
com.sun.faces.taglib.jsf_core.ConverterTag$BindingConverter.getAsString(ConverterTag.java:103)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getFormattedValue(HtmlBasicRenderer.java:469)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderOption(MenuRenderer.java:502)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:757)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:811)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:335)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:836)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:279)
com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:242)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.render.Renderer.encodeChildren(Renderer.java:137)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:812)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:886)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:245)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
Att
Tavinho
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
Gostei + 0
25/11/2011
Luiz Silva
antes minha declaração estava assim
private int idcontrato;
ai deu um erro e troquei para
private Integer idcontrato;
e esqueci de trocar no equals() e hashCode().
Obrigado pela ajuda
Att Tavinho
Gostei + 0
25/11/2011
Davi Costa
Assim que possível fechar o chamado.
att Davi
Gostei + 0
28/11/2011
Luiz Silva
att tavinho
Gostei + 0
29/11/2011
Alexandre
Links do poste:
https://www.devmedia.com.br/forum/java/409959-Erro-no-meu-projeto--JSF-+Hirbenate--Detalhes--.html
http://www.guj.com.br/java/259433-problema-com-jsf-erro-no-jsp/2#1353946
Obrigado
Gostei + 0
06/12/2011
Dyego Carmo
Se sim , poderia fechar o chamado ?
Valeu !
Gostei + 0
06/12/2011
Luiz Silva
Att
Tavinho
Gostei + 0
20/12/2011
Dyego Carmo
Resolvido ? Se sim , poderia fechar o chamado ?
Valeu !
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)