Versão do Tomcat: 8.5.9
Versão do JSF: 2.2
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="2">
<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="dataLancamento" />
<h:inputText id="dataLancamento" />
<h:commandButton value="Gravar" action="#{livroBean.gravar}" />
</h:panelGrid>
</fieldset>
</h:form>
</h:body>
</html>
CLASS
package br.com.caelum.livraria.bean;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class LivroBean {
public void gravar() {
System.out.println("Gravando o livro!");
}
}
A primeira página localhost:8080/jsf-livraria/livro.xhtml funciona sem nenhum problema, entretanto, ao clicar em Gravar é exibido este erro:
HTTP Status 500 - javax.el.PropertyNotFoundException: /livro.xhtml @24,69 action="#{livroBean.gravar}": Target Unreachable, identifier 'livroBean' resolved to null
Tem algum problema no código? Deixei passar algo?
É possível que o erro esteja acontecendo por eu estar utilizando a versão 8.5.9 do Tomcat?