Após seguir todos os passos e revisar tudo, ainda continuo tendo erro : value="#{adminLivrosBean.Livro.titulo}": The class 'br.com.casadocodigo.loja.beans.AdminLivrosBean' does not have the property 'Livro'.
O mais estranho e que o código está igual, tudo foi feito exatamente igual, não consigo encontra o erro:
Form
<!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">
<h:form>
<div>
<h:outputLabel value="Título"/>
<h:inputText value="#{adminLivrosBean.Livro.titulo}"/>
</div>
<div>
<h:outputLabel value="Descrição"/>
<h:inputTextarea rows="4" cols="20" value="#{adminLivrosBean.Livro.descricao}"/>
</div>
<div>
<h:outputLabel value="Número Páginas"/>
<h:inputText value="#{adminLivrosBean.Livro.numeroPaginas}"/>
</div>
<div>
<h:outputLabel value="Preço"/>
<h:inputText value="#{adminLivrosBean.Livro.preco}"/>
</div>
<h:commandButton value="Cadastrar" action="#{adminLivrosBean.salvar}"/>
</h:form>
</html>
package br.com.casadocodigo.loja.beans;
import javax.enterprise.context.RequestScoped;
import javax.faces.bean.ManagedBean;
import javax.inject.Named;
import br.com.casadocodigo.loja.models.Livro;
//CDI
@Named
@RequestScoped
@ManagedBean(value="adminLivrosBean")
public class AdminLivrosBean {
private Livro livro = new Livro();
public void salvar(){
System.out.println("Livro Cadastrado:" + livro);
}
public Livro getLivro() {
return livro;
}
public void setLivro(Livro livro) {
this.livro = livro;
}
}