【问题标题】:use jsf managed bean in facelet custom component as in jsf within jsp在 facelet 自定义组件中使用 jsf 托管 bean,就像在 jsp 中的 jsf 中一样
【发布时间】:2011-11-15 21:20:22
【问题描述】:

我有 jsf 应用程序,我必须在其中使用 facelet 自定义组件(在自定义标记库中定义)。为了实现这一点,我做了以下工作: - 创建组件,使用ui:component - 在文件person.taglib.xml 中创建标签库 - 在 web.xml 中创建上下文参数 - 最后将组件包含在一个 xhtml 文档中

但我需要使用一个 bean,以便获取我必须显示的信息。我可以在 facelet 组件定义中使用 bean 吗?

例如,我创建了一个纯 jsp 页面,包括 jsf 标签,然后我可以从那里访问 bean(例如 Person)。

我可以从 facelet 组件访问faces-config.xml 中定义的 bean 吗?

(希望我说得够清楚)

【问题讨论】:

  • 您使用的是 JSF 1.x 还是 2.x?您的问题给我的印象是您仍在使用 JSF 1.x。在 JSF 2.x 中,使用 @ManagedBean 注释或仅使用复合组件而不是标记文件太容易了。
  • 有什么理由不只使用@ManagedBean
  • 好的,我发布了一个答案。也许您应该注意,您阅读的不是针对 JSF 1.x 的教程/书籍,而是针对 JSF 2.x 的。

标签: jsp jsf jakarta-ee managed-bean


【解决方案1】:

如果您使用 @ManagedBean 注释支持 bean 类并将该类直接放在类路径中,无论是普通的香草还是带有 /META-INF/faces-config.xml 的 JAR 中,那么 JSF2 将自动将其注册为托管 bean,而不需要任何需要自己在faces-config.xml注册。

@ManagedBean
@RequestScoped
public class Bean {

    // ...

}

另见:

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多