description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: /cadastro/CadastroProduto.xhtml @64,42 value="#{e.ndi}": Property ‘ndi’ not found on type org.hibernate.collection.PersistentSet javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
@Id@Column(name="id_di")@GeneratedValue(strategy=GenerationType.IDENTITY)privateIntegerid;@OneToMany(cascade={CascadeType.PERSIST})@JoinColumn(name="id_di")privateList<Adi>adi;privateStringndi;//10 - Numero do documento de inportacao DI/DSI/DAprivateDateddi;//Data de registro da DI/DSI/DA "AAAA-MM-DD"privateStringxLocDesemb;//60 - Local de desembarque@TransientprivateUnidadeFederativaobjUf;@Column(name="ufDesemb")privateStringuf;//2 - Sigla da Uf onde ocorreu o desembarqueprivateDatedDesemb;//Data do desembarque "AAAA-MM-DD"privateStringcExportador;//60 - Codigo do fabricante estrangeiropublicbooleancomtemAdi(IntegercodAdi){for(Adid:getAdi()){if((codAdi!=null)&&(d.getId()==codAdi)){returntrue;}}returnfalse;}publicList<Adi>getAdi(){if(adi==null){adi=newArrayList<Adi>();}returnadi;}publicvoidaddadi(Adiadi){getAdi().add(adi);}publicvoidremoveadi(Adiadi){getAdi().remove(adi);}publicvoidsetAdi(List<Adi>adi){this.adi=adi;}publicStringgetNdi(){returnndi;}publicvoidsetNdi(Stringndi){this.ndi=ndi;}publicDategetDdi(){returnddi;}publicvoidsetDdi(Dateddi){this.ddi=ddi;}publicStringgetxLocDesemb(){returnxLocDesemb;}publicvoidsetxLocDesemb(StringxLocDesemb){this.xLocDesemb=xLocDesemb;}publicDategetdDesemb(){returndDesemb;}publicUnidadeFederativagetUf(){Map<String,Object>params=newHashMap<String,Object>();if((uf!=null)&&((objUf==null)||(!(uf.equals(objUf.getDescricaoUf()))))){params.put(UnidadeFederativa.UNIDADE_FEDERATIVA_POR_DESCRICAO_PARAM_NAME,uf);objUf=(UnidadeFederativa)getFactory().getResultList(QueryStrategy.NAMED,UnidadeFederativa.UNIDADE_FEDERATIVA_POR_DESCRICAO_QUERY_NAME,params);returnobjUf;}else{returnobjUf;}}publicvoidsetUf(UnidadeFederativauf){if((this.objUf=uf)!=null){this.uf=uf.getDescricaoUf();}else{this.uf=null;}}publicvoidsetdDesemb(DatedDesemb){this.dDesemb=dDesemb;}publicStringgetcExportador(){returncExportador;}publicvoidsetcExportador(StringcExportador){this.cExportador=cExportador;}publicIntegergetId(){returnid;}
}
H
Hebert_Coelho
Opa, coloca seu código entre a tag code. não dá para entender seu código. outra coisa,
eu to perguntando onde o “e” do #{e.ndi} está sendo declarado. Você precisa declarar o e em algum lugar.
OBS.: O nome dos seus atributos estão horríveis! =P
G
Geeh_All
Codigo do Di
packagevirtualsistemas.nfe.modelo;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.persistence.CascadeType;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.OneToMany;importjavax.persistence.Transient;importvirtualsistemas.controle.AbstractPersistenceFactory.QueryStrategy;importvirtualsistemas.nfe.controle.AbstractDAOClassNFE;@Entity@SuppressWarnings("serial")publicclassDiextendsAbstractDAOClassNFE<Integer>{@Id@Column(name="id_di")@GeneratedValue(strategy=GenerationType.IDENTITY)privateIntegerid;@OneToMany(cascade={CascadeType.PERSIST})@JoinColumn(name="id_di")privateList<Adi>adi;privateStringndi;//10 - Numero do documento de inportacao DI/DSI/DAprivateDateddi;//Data de registro da DI/DSI/DA "AAAA-MM-DD"privateStringxLocDesemb;//60 - Local de desembarque@TransientprivateUnidadeFederativaobjUf;@Column(name="ufDesemb")privateStringuf;//2 - Sigla da Uf onde ocorreu o desembarqueprivateDatedDesemb;//Data do desembarque "AAAA-MM-DD"privateStringcExportador;//60 - Codigo do fabricante estrangeiropublicbooleancomtemAdi(IntegercodAdi){for(Adid:getAdi()){if((codAdi!=null)&&(d.getId()==codAdi)){returntrue;}}returnfalse;}publicList<Adi>getAdi(){if(adi==null){adi=newArrayList<Adi>();}returnadi;}publicvoidaddadi(Adiadi){getAdi().add(adi);}publicvoidremoveadi(Adiadi){getAdi().remove(adi);}publicvoidsetAdi(List<Adi>adi){this.adi=adi;}publicStringgetNdi(){returnndi;}publicvoidsetNdi(Stringndi){this.ndi=ndi;}publicDategetDdi(){returnddi;}publicvoidsetDdi(Dateddi){this.ddi=ddi;}publicStringgetxLocDesemb(){returnxLocDesemb;}publicvoidsetxLocDesemb(StringxLocDesemb){this.xLocDesemb=xLocDesemb;}publicDategetdDesemb(){returndDesemb;}publicUnidadeFederativagetUf(){Map<String,Object>params=newHashMap<String,Object>();if((uf!=null)&&((objUf==null)||(!(uf.equals(objUf.getDescricaoUf()))))){params.put(UnidadeFederativa.UNIDADE_FEDERATIVA_POR_DESCRICAO_PARAM_NAME,uf);objUf=(UnidadeFederativa)getFactory().getResultList(QueryStrategy.NAMED,UnidadeFederativa.UNIDADE_FEDERATIVA_POR_DESCRICAO_QUERY_NAME,params);returnobjUf;}else{returnobjUf;}}publicvoidsetUf(UnidadeFederativauf){if((this.objUf=uf)!=null){this.uf=uf.getDescricaoUf();}else{this.uf=null;}}publicvoidsetdDesemb(DatedDesemb){this.dDesemb=dDesemb;}publicStringgetcExportador(){returncExportador;}publicvoidsetcExportador(StringcExportador){this.cExportador=cExportador;}publicIntegergetId(){returnid;}}
e o codigo do jsf
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><ui:compositionxmlns:ui="http://java.sun.com/jsf/facelets"xmlns:h="http://java.sun.com/jsf/html"xmlns:v="http://virtualsistemas.components"xmlns:f="http://java.sun.com/jsf/core"template="/cadastro/TelaNFE.xhtml"><ui:definename="conteudo"><h:outputScriptlibrary="js"name="telaNFE.js"target="head"/><h:formid="alteraProduto"binding="#{cadastroProduto.form}"rendered="#{cadastroProduto.showProduto}"><table><tr><td><h6><h:outputTextvalue ="*Campos obrigatórios."/></h6></td></tr><tr><tdalign="center"colspan="4"><h5><h:outputTextvalue="#{cadastroProduto.mensagem}"/></h5></td></tr></table><script>setFormAtual(document.getElementById('frmCadastroEmitente'));document.getElementById('btnEmitente').className='abaselecionada';</script></h:form><h:formid="listaProduto"rendered="#{cadastroProduto.showList}"><divalign="center"style="overflow: auto; height: 250px;"><h:dataTablevar="p"value="#{cadastroProduto.lista}"styleClass="selectTable"><h:column><f:facetname="header"><h:outputTextvalue="Código do Produto"/></f:facet><h:outputTextvalue="#{p.daoObject.id}"/></h:column><h:column><f:facetname="header"><h:outputTextvalue="Descrição do Produto"/></f:facet><h:outputTextvalue="#{p.daoObject.xProd}"/></h:column><h:column><f:facetname="header"> <h:commandButtonvalue="Novo"action="#{cadastroProduto.novo}"/><h:commandButtonvalue="Voltar"action="#{cadastroProduto.setShowList}"/></f:facet><h:commandButtonvalue="Alterar"action="#{p.alterar}"/><h:commandButtonvalue="Apagar"action="#{p.apagar}"onclick="return confirm('Deseja Apagar?')"/></h:column></h:dataTable></div></h:form><h:formrendered="#{cadastroProduto.showDi}"><divalign="center"style="overflow: auto; height: 250px;"><h:dataTablevar="e"value="#{cadastroProduto.getDaoObject().getDi()}"styleClass="selectTable"><h:column><h:column><f:facetname="header"><h:outputTextvalue="Data de Registro da DI/DSI/DA"/></f:facet><h:outputTextvalue="#{e.ndi}"/></h:column><h:column><f:facetname="header"><h:outputTextvalue="Local de Desembarque"/></f:facet><h:outputTextvalue="teste02"/></h:column><h:column><f:facetname="header"> <h:commandButtonvalue="Adição"action="#{cadastroProduto.btnAvancar}"/></f:facet></h:column><f:facetname="header"><h:commandButtonvalue="Voltar"action="#{cadastroProduto.btnVoltar}"/></f:facet></h:column></h:dataTable></div></h:form><h:formrendered="#{cadastroProduto.showAlteraDi}"><h:outputTextvalue="AlteraDi"/><h:commandButtonvalue="voltar"action="#{cadastroProduto.btnVoltar}"/><h:commandButtonvalue="avançar"action="#{cadastroProduto.btnAvancar}"/></h:form><h:formrendered="#{cadastroProduto.showListaAdi}"><h:outputTextvalue="ListaADi"/><br/><h:commandButtonvalue="voltar"action="#{cadastroProduto.btnVoltar}"/><h:commandButtonvalue="avançar"action="#{cadastroProduto.btnAvancar}"/></h:form><h:formrendered="#{cadastroProduto.showAlteraAdi}"><h:outputTextvalue="Alterea Adi"/><h:commandButtonvalue="voltar"action="#{cadastroProduto.btnVoltar}"/></h:form></ui:define></ui:composition>
G
Geeh_All
e cara ainda tem o codigo da classe que estou dando acesso a jsf
packagevirtualsistemas.nfe.visao;importjava.util.List;importjavax.faces.bean.ManagedBean;importjavax.faces.bean.ViewScoped;importvirtualsistemas.nfe.controle.ModuloNfeFactory;importvirtualsistemas.nfe.modelo.Di;importvirtualsistemas.nfe.modelo.Produto;importvirtualsistemas.web.annotation.CommandAttributes;importvirtualsistemas.web.annotation.CommandButton;importvirtualsistemas.web.annotation.CommandButtonAttributes;importvirtualsistemas.web.annotation.ComponentAttributes;importvirtualsistemas.web.annotation.InnerField;importvirtualsistemas.web.annotation.Messages;importvirtualsistemas.web.annotation.PanelGridLayout;@Messages@ViewScoped@PanelGridLayout(columnsByLine={4,4,4,4,8,8},attributes=@ComponentAttributes(style="width: 100%;"))@ManagedBean(name=CadastroProduto.MANAGED_BEAN_NAME_NAVIGATION_RULE)publicclassCadastroProdutoextendsCadastroManutencao<Produto>{publicstaticfinalStringMANAGED_BEAN_NAME_NAVIGATION_RULE="cadastroProduto";privatebooleanshowProduto=false;privatebooleanshowDi=false;privatebooleanshowAlteraDi=false;privatebooleanshowListaAdi=false;privatebooleanshowAlteraAdi=false;privatebooleanvalidaProduto;publicCadastroProduto(){listar();}@InnerFieldprivateProdutodaoObject;@OverridepublicProdutogetDaoObject(){if(daoObject==null){daoObject=newProduto();}returndaoObject;}@OverridepublicvoidsetDaoObject(ProdutodaoObject){this.daoObject=daoObject;}publicvoidbtnVoltar(){if(showDi){showProduto=true;showDi=false;}elseif(showAlteraDi){showAlteraDi=false;showDi=true;}elseif(showListaAdi){showListaAdi=false;showAlteraDi=true;}elseif(showAlteraAdi){showAlteraAdi=false;showListaAdi=true;}}publicvoidbtnAvancar(){if(showDi){showDi=false;showAlteraDi=true;}elseif(showAlteraDi){showAlteraDi=false;showListaAdi=true;}elseif(showListaAdi){showListaAdi=false;showAlteraAdi=true;}}publicbooleanisShowProduto(){return((!showDi)&&(!(isShowList()))&&(!showAlteraDi)&&(!showListaAdi)&&(!showAlteraAdi));}publicbooleanisShowDi(){return((!(isShowList()))&&(!showProduto)&&(showDi)&&(!showAlteraDi)&&(!showListaAdi)&&(!showAlteraAdi));}publicbooleanisShowAlteraDi(){return((!(isShowList()))&&(!showProduto)&&(!showDi)&&(showAlteraDi)&&(!showListaAdi)&&(!showAlteraAdi));}publicbooleanisShowListaAdi(){return((!(isShowList()))&&(!showProduto)&&(!showDi)&&(!showAlteraDi)&&(showListaAdi)&&(!showAlteraAdi));}publicbooleanisShowAlteraAdi(){return((!(isShowList()))&&(!showProduto)&&(!showDi)&&(!showAlteraDi)&&(!showListaAdi)&&(showAlteraAdi));}@OverridepublicbooleanisShowList(){return((super.isShowList())&&(!showProduto)&&(!showDi)&&(!showAlteraDi)&&(!showListaAdi)&&(!showAlteraAdi));}@Overridepublicvoidlistar(){super.listar();showDi=false;showProduto=false;showAlteraDi=false;showListaAdi=false;showAlteraAdi=false;}@CommandButton(attributes=@CommandButtonAttributes(attributes=@CommandAttributes(value="Declaração de Importação")))publicvoidassociaTributos(){setMensagem(null);if(isValidaProduto()){showProduto=false;showDi=true;showAlteraDi=false;showListaAdi=false;showAlteraAdi=false;}else{setMensagem("É preciso ter um produto associado. Por favor, salve o produto.");}}@OverrideprotectedvoidcarregaLista(){for(Produtoprod:ModuloNfeFactory.getInstance().getAll(Produto.class,"order by xProd")){getLista().add(newListaDaoObject((Produto)prod));}}publicbooleanisValidaProduto(){if((getDaoObject()!=null)&&(getDaoObject().getId()!=null)){validaProduto=true;}else{validaProduto=false;}returnvalidaProduto;}publicvoidsetValidaProduto(booleanvalidaProduto){this.validaProduto=validaProduto;}}
G
Geeh_All
Alguem ajuda eu?
G
Geeh_All
up ninguem respondeu
G
Geeh_All
ja consegui resolver!!!
H
Hebert_Coelho
Opa, blz então.
Coloca a solução aqui para outras pessoas verem.
E edita o titulo do post e coloca [RESOLVIDO].
D
Diguinho.Max
eu acho que vc esqueceu de mapear alguns atributos. tipo esse ndi so está declarado como private string o hibernate nao entendi.