2

经过一些试验,我已经能够使用和一些 EL将我的 GET 参数注入到一个@ManagedBean(因此,一个 JSF)bean 中。@ManagedProperty

现在,除了从 读取参数映射的方法之外FacesContext.getCurrentInstance().getExternalContext(),我还无法将我的 GET 参数注入@Named(因此是 CDI-)bean。

因此,我一直在阅读 JSF bean 和 CDI bean 的优缺点。简而言之,我遇到了两个问题:第一个。在使用 JSF bean 而不是 CDI bean 时我会遇到任何缺点吗?第二。如果是这样,是否有一种干净的方法可以将我的 GET 参数注入 CDI bean?

4

1 回答 1

1

我希望我不会在这里引发一场激烈的战争,但可以肯定地说,CDI 作用域和依赖注入机制比 JSF 作用域涵盖的领域要多得多。一般来说,您最好使用 CDI 范围 - 但在这里可以进入几乎任意的细节。

关于你的问题:Seam Solder带来了——除此之外——http-parameter-injection。看看这个

更新: 如果您害怕将 Solder 集成到您的项目中(不要这样!),请查看具有魔力的相关源代码。您可以轻松地将其复制到您的项目中 - 只是 Solder 背后的开发人员在他们的脑海中比您当场可能想出的要多一些。

于 2012-07-25T11:52:48.753 回答