bom dia,
pessoal eu estou tentando fazer um cadastro relativamente simples porém estou recebendo esse erro:
javax.el.PropertyNotFoundException: /fornecedores.xhtml @22,70 value="#{fornecedorBean.fornecedores.nome}": Target Unreachable, 'fornecedores' returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:93)
esse é o meu xhtml
[code] <h:head>
Sistema de Stock
Cadastro de Fornecedores
</h:head>
<h:body>
<h:outputText value=“Fornecedores” />
<h:form>
<f:validateBean>
<h:messages />
<h:panelGrid columns=“2”>
<h:outputText value=“Id” rendered="#{fornecedorBean.fornecedores.idFornecedor!=null}" />
<h:inputText value="#{fornecedorBean.fornecedores.idFornecedor}" rendered="#{fornecedorBean.fornecedores.idFornecedor!=null}"/>
<h:outputText value="Nome"/>
<h:inputText value="#{fornecedorBean.fornecedores.nome}"/>
<h:outputText value="Id" rendered="#{produtoBean.produtos.idProduto!=null}" />
<h:inputText value="#{produtoBean.produtos.idProduto}" rendered="#{produtoBean.produtos.idProduto!=null}"/>
<h:outputText value="Produto"/>
<h:inputText value="#{produtoBean.produtos.descProduto}"/>
<h:outputText value="Id" rendered="#{marcaBean.marcas.idMarca!=null}" />
<h:inputText value="#{marcaBean.marcas.idMarca}" rendered="#{marcaBean.marcas.idMarca!=null}"/>
<h:outputText value="Marca"/>
<h:inputText value="#{marcaBean.marcas.descMarca}"/>
<h:outputText value="Id" rendered="#{tipoProdutoBean.tipoProdutos.idTipoProduto!=null}" />
<h:inputText value="#{tipoProdutoBean.tipoProdutos.idTipoProduto}" rendered="#{tipoProdutoBean.tipoProdutos.idTipoProduto!=null}"/>
<h:outputText value="TipoProduto"/>
<h:inputText value="#{tipoProdutoBean.tipoProdutos.descTipoProduto}"/>
<h:commandButton value="Gravar" action="#{fornecedorBean.grava}"/>
</h:panelGrid>
</f:validateBean>
</h:form>
<h2><h:outputText value="Lista de Fornecedores" /></h2>
<hr />
<h:dataTable value="#{fornecedorBean.fornecedores}" var="fornecedor">
<h:column>
<f:facet name="header"><h:outputText value="ID"/></f:facet>
#{fornecedor.id}
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Nome"/></f:facet>
#{fornecedor.nome}
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Produto"/></f:facet>
#{fornecedor.produto.descProduto}
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Marca"/></f:facet>
#{fornecedor.produto.marca.descMarca}
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Tipo de Produto"/></f:facet>
#{fornecedor.produto.tipoProduto.descTipoProduto}
</h:column>
<h:column>
<f:facet name="header"><h:outputText value="Ações"/></f:facet>
<h:form>
<h:commandLink value="Remover" action="#{fornecedorBean.remove}">
<f:setPropertyActionListener value="fornecedor" target="#{fornecedorBean.fornecedor}"/>
</h:commandLink> |
<h:commandLink value="Alterar">
<f:setPropertyActionListener value="#{fornecedor}" target="#{fornecedorBean.fornecedor}"/>
</h:commandLink>
</h:form>
</h:column>
</h:dataTable>
</h:body>[/code]
aqui esta o meu bean
[code]@ViewScoped
@ManagedBean
public class FornecedorBean implements Serializable{
private static final long serialVersionUID = 1L;
private Fornecedor fornecedor = new Fornecedor();
private List<Fornecedor> fornecedores;
@ManyToMany
private Produto produto;
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public List<Fornecedor> getFornecedores() {
/*EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
DaoFornecedor dao = new DaoFornecedor(em);
if(fornecedores == null){
fornecedores = dao.lista();
}
em.getTransaction().commit();
em.close();*/
return fornecedores;
}
public void setFornecedores(List<Fornecedor> fornecedores) {
this.fornecedores = fornecedores;
}
public void grava() {
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
DaoFornecedor dao = new DaoFornecedor(em);
dao.adicionaTodos(fornecedor);
this.fornecedores = dao.lista();
em.getTransaction().commit();
em.close();
}
public void remove() {
EntityManager em = new JPAUtil().getEntityManager();
em.getTransaction().begin();
DaoFornecedor dao = new DaoFornecedor(em);
if(fornecedor.getIdFornecedor() == null){
dao.grava(fornecedor);
}else{
dao.atualiza(fornecedor);
}
em.getTransaction().commit();
em.close();
}
private void limpaGrid() {
this.fornecedor = new Fornecedor();
}
[/code]