O view action não chama o método através do parâmetro. Eu estou acessando pela porta 8082 -> localhost:8082/livraria/livro.xhtml?livroId=1. Link do git: https://github.com/ErivanJunior275/JSF
Se alguém puder me ajudar, agradeço.
O view action não chama o método através do parâmetro. Eu estou acessando pela porta 8082 -> localhost:8082/livraria/livro.xhtml?livroId=1. Link do git: https://github.com/ErivanJunior275/JSF
Se alguém puder me ajudar, agradeço.
Olá, Erivan.
O erro está no seu livro.xhtml. Você está fazendo binding em AutorBean para pegar os dados do autor:
<fieldset>
<legend>Dados do Autor</legend>
<h:outputLabel value="Selecione Autor: " for="autor" />
<h:selectOneMenu value="#{autorBean.autorId}" id="autor">
<f:selectItems value="#{autorBean.autores}" var="autor"
itemLabel="#{autor.nome}" itemValue="#{autor.id}" />
</h:selectOneMenu>
O correto é fazer o binding na lista de autores do próprio LivroBean:
<f:selectItems value="#{livroBean.autores}" var="autor"
itemLabel="#{autor.nome}" itemValue="#{autor.id}" />
</p:selectOneMenu>
Uma dica que posso te dar é evitar usar mais de um bean em uma tela .xhtml. Não trabalho com JSF há muito tempo, mas o que vejo no dia a dia é, normalmente, um bean (controller) para cada xhtml.
Olá Patrick,
Obrigado pela dica. Mesmo fazendo isso não havia funcionado então eu removi e adicionei o jar do javax.faces de novo e adicionei o jar do cdi e funcionou.