将托管bean和属性注入另一个时,Bean Scope约束是什么

时间:2013-07-17 10:21:25

标签: java jsf

在JSF中,我们可以使用 @ManagedProperty 将一个@ManagedBean注入另一个。 我的问题是:

  • 我可以将ManagedBean或ManagedProperty注入另一个 Normal Java Bean 类?

  • ManagedProperty上是否有限制 注入基于bean的范围?例如:我可以注入 @RequestScoped Bean或属性到@ViewScoped bean?

  • 是否还有其他方法可以访问除@ManagedPropery以外的@ManagedBean实例及其属性?

如果已经讨论过上述任何问题,请指出链接?

1 个答案:

答案 0 :(得分:2)

  1. Definitely no,您只能通过它访问它们 FacesContext 如果当前的类不是由JSF会话管理的。
  2. 有。您只能设置范围更广的托管bean。这是有道理的,因为没有理由让@SessionScope的bean包含有关@RequestScoped bean的显式信息。但是,如果以其他方式执行此操作,则可以从请求范围bean访问某些会话信息。
  3. 参考最后一个问题,您可以在several ways
  4. 中从您的上下文中获取托管bean