Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ERRO estranho falando que meu bean está nullo.

Opa boa tarde, estou em um erro que sempre que acontece comigo eu coloco na minha anotação

@Named(value="nomeDoBean")

Aqui resolver, mais hojê não quer sair, falando que meu identificador está nullo.

@Named(value = "produtoBean")
@SessionScoped
@SuppressWarnings("serial")
public class ProdutoBean implements Serializable{

    @Inject
    private Produto produto;
    @Inject
    private Marca marca; 
    @Inject
    private ProdutoDao produtoDao;
    @Inject
    private MarcaDao marcaDao;
    @Inject
    private FornecedorDao fornecedorDao;

    @Transacional
    public void salvar() {
        if(produto.getCodigo() == null) {
            produto.setMarca(marca);
            marcaDao.salvar(marca);
            produtoDao.salvar(produto);
            Mensagem.mensagemInfo("Produto adicionado com sucesso");
        } else {

        }
        this.marca = new Marca();
        this.produto = new Produto();
    }

    @Transacional
    public List<Fornecedor> getListaFornecedores() {
        return fornecedorDao.lista();
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public Marca getMarca() {
        return marca;
    }

    public void setMarca(Marca marca) {
        this.marca = marca;
    }



}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets">

<ui:composition template="/template/template.xhtml">
    <ui:define name="conteudo">
        <h:form id="formularioProduto">
            <p:growl id="mensagem" life="6000" />
            <p:panel header="Cadastro de Produto">
                <h:panelGrid columns="2">
                    <p:outputLabel value="Nome: " for="nome" />
                    <p:inputText id="nome" value="#{produtoBean.produto.nome}"
                        placeholder="Nome do produto" size="29" />
                    <p:outputLabel value="Preço:" for="preco" />
                    <p:inputText id="preco" value="#{produtoBean.produto.preco}"
                        size="10" />
                    <p:outputLabel value="Quantidade:" for="quantidade" />
                    <p:inputText id="quantidade"
                        value="#{produtoBean.produto.quantidade}" size="5" />
                    <p:outputLabel value="Marca: " for="marca" />
                    <p:inputText id="marca" value="#{produtoBean.marca.nome}" />
                    <p:outputLabel value="Fornecedor: " for="fornecedor" />
                    <p:selectOneMenu id="fornecedor"
                        value="#{produtoBean.produto.fornecedor}">
                        <f:selectItem itemValue="" itemLabel="Selecione..." />
                        <f:selectItems value="#{produtoBean.listaFornecedores}"
                            var="fornecedor" itemValue="#{fornecedor}"
                            itemLabel="#{fornecedor.nome}" />
                    </p:selectOneMenu>
                </h:panelGrid>
            </p:panel>
            <p:commandButton value="Salvar"
                actionListener="#{produtoBean.salvar}" update="formularioProduto" />
        </h:form>
    </ui:define>
</ui:composition>
</html>

Erro;


Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'produtoBean' resolved to null
    at org.apache.el.parser.AstValue.getTarget(AstValue.java:74)
    at org.apache.el.parser.AstValue.getType(AstValue.java:58)
    at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:168)
    at org.jboss.weld.el.WeldValueExpression.getType(WeldValueExpression.java:93)
    at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
    ... 42 more

Estou sem entender.

1 resposta
solução!

Meu erro estava no meu select, o estranho é que não aparecia o erro de sql, até que enfim achei. mesmo assim obrigado :)