5
respostas

Código não funciona após Injeção de Dependências com CDI

Depois injetar as dependências com CDI, a maioria do código não funciona. Estou criando esse tópico depois te ter pesquisado soluções e passar muito tempo sem encontrar uma resposta.

  • Os registros dos livros não aparecem na lista em livro.xhtml com o livroDataModel. "No records found." Mas eles estão cadastrados no banco de dados.

  • O link de cadastrar autor não funciona dentro de Dados do Autor em livro.xhtml.

javax.faces.FacesException: #{livroBean.formAutor}: javax.el.PropertyNotFoundException: /livro.xhtml @84,72 action="#{livroBean.formAutor}": Target Unreachable, identifier [livroBean] resolved to null at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
  • A página de vendas.xhtml não funciona:
HTTP Status 500 – Internal Server Error

Type: Exception Report

Message: EntityManager is closed

Description: The server encountered an unexpected condition that prevented it from fulfilling the request.

javax.servlet.ServletException: EntityManager is closed
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:671)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

LINK DO REPOSITÓRIO:

https://github.com/ev1illyn/jv-ee-trng/tree/dev/jsf-livraria
5 respostas

up...

up...

up...

up....

Olá Evillyn, tudo bem?

Sobre os registros dos livros não aparecerem na lista em livro.xhtml com o livroDataModel, é possível que haja algum problema na busca ou no preenchimento dos dados, você poderia compartilhar os trechos de código?

Em relação ao link de cadastrar autor que não funciona dentro de Dados do Autor em livro.xhtml, o erro menciona que há um problema com a resolução do identificador "livroBean". Verifique se você está corretamente referenciando o bean "livroBean" no seu código e se ele está sendo corretamente injetado com CDI.

Quanto à página de vendas.xhtml que não funciona e apresenta o erro "EntityManager is closed", isso pode indicar que o EntityManager está sendo fechado antes de ser utilizado na página. Verifique se você está corretamente gerenciando o ciclo de vida do EntityManager e se ele está sendo fechado antes de ser usado na página de vendas.xhtml. Certifique-se também de que todas as dependências necessárias para o funcionamento da página estão corretamente injetadas.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software