Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida no Ex. 13 da Aula 2 - Configuração do ambiente e os primeiros passos com JSF

Mensagem de ERRO: HTTP Status 500 - javax.el.PropertyNotFoundException: /livro.xhtml @19,67 action="#{LivroBean.gravar}": Target Unreachable, identifier 'LivroBean' resolved to null. Por favor alguém ajuda =D

3 respostas

Oi Gabriel,

O erro indica que o JSF não encontrou o ManagedBean LivroBean. Talvez o problema seja porque na sua página livro.xhtml a expression language #{LivroBean.gravar} está com a letra L em maiúsculo. tente mudar para l minúsculo:

#{livroBean.gravar}

Caso não resolva, poste aqui o código dessa sua classe, para vermos o que pode estar ocorrendo.

Bons estudos!

Obrigado desde já pela ajuda. Mudei para L minusculo e mesmo assim o erro persiste.

//código livro.xhtml

<?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://java.sun.com/jsf/html">
<h:body>
    <h1>Novo Livro</h1>
    <h:form>
        <fieldset>
            <legend>Dados do Livro</legend>
            <h:panelGrid columns="1">
                <h:outputLabel value="Titulo:" for="titulo" />
                <h:inputText id="titulo" />
                <h:outputLabel value="ISBN:" for="isbn" />
                <h:inputText id="isbn" />
                <h:outputLabel value="Preço:" for="preco" />
                <h:inputText id="preco" />
                <h:outputLabel value="Data de Lançamento:" for="dataDeLancamento" />
                <h:inputText id="dataDeLancamento" />
                <h:commandButton value="Gravar" action="#{livroBean.gravar}" />
            </h:panelGrid>
        </fieldset>
    </h:form>
</h:body>

</html>

//código Classe LivroBean

package br.com.caelum.livraria.bean;

import javax.faces.bean.ManagedBean;

@ManagedBean
public class LivroBean {

    public void gravar() {
        System.out.println("Gravando Livro!");
    }
}
solução!

Oi Grabriel,

o seu código está certo, só falta a implementação no método gravar.

Conseguiu avançar no treinamento?

abs