gpt4 book ai didi

jsf - 使用 JEE6 将 EJB 注入(inject) JSF 转换器

转载 作者:行者123 更新时间:2023-12-04 01:01:22 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to inject @EJB, @PersistenceContext, @Inject, @Autowired, etc in @FacesConverter?

(5 个回答)


6年前关闭。




我有一个可以访问我的数据库的无状态 EJB。
我需要 JSF 2 转换器中的这个 bean 来从 String 值参数中检索实体对象。我将 JEE6 与 Glassfish V3 一起使用。
@EJB注释不起作用并获得 NPE,因为它在 faces 上下文中并且无法访问 EJB 上下文。

我的问题是:
是否仍然可以使用 @Resource 注入(inject)此 bean?或其他注释,或 JNDI 查找,还是我需要解决方法?

解决方案

像这样进行 JNDI 查找:

  try {
ic = new InitialContext();
myejb= (MyEJB) ic
.lookup("java:global/xxxx/MyEJB");
} catch (NamingException e) {
e.printStackTrace();
}

最佳答案

我从未使用过 JSF 2.0(只有 1.0),但规范的第 5.4 章说:

[...] allow the container to inject references to container managed resources into a managed bean instance before it is made accessible to the JSF application. Only beans declared to be in request, session, or application scope are eligble for resource injection.



但到目前为止,我了解,JNDI 查找应该可以解决问题。

关于jsf - 使用 JEE6 将 EJB 注入(inject) JSF 转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com