【问题标题】:Can I use JSF 2.0 annotations in a JSF 1.2 application?我可以在 JSF 1.2 应用程序中使用 JSF 2.0 注释吗?
【发布时间】:2012-02-20 22:29:05
【问题描述】:

JSF 2.0 框架的哪一部分处理注释?我真的很想将它们添加到 JSF 1.2 应用程序中。这甚至是一个现实的目标吗?

【问题讨论】:

  • 可能不会。为什么不迁移新应用程序以使用 JSF 2.0?现有 JSF 1.2 构造的语义在 2.0 中应该没有太大变化。
  • 我正在使用来自 IBM 的 Xpages,它是 JSF 1.2 之上的东西,所以很遗憾不是我的选择。
  • 您可以考虑将 Seam 或 Spring 注释作为替代方案。有一些版本应该适用于 JSF 1.2。

标签: java jsf-2 annotations jsf-1.2


【解决方案1】:

您不能在 JSF 1.2 中使用 JSF 2.0 注释,除非基本上将整个东西升级到 JSF 2.0。但是,您可以在 JSF 1.2 中使用 CDI 注释(@Named@Inject 等)。当您使用旧的 JSF 1.2 时,我假设您使用的是旧的 Java EE 5 / Servlet 2.5 容器。尽管 CDI 是 Java EE 6 的一部分,但您可以在 Java EE 5 / Servlet 2.5 兼容的容器中使用独立的 CDI 实现。 CDI 实现之一是JBoss Weld。 Tomcat 6 甚至支持 officially

CDI 将涵盖 JSF 2.0 作为托管 bean 注释提供的大部分内容,包括三个主要范围 @RequestScoped@SessionScoped@ApplicationScoped。 CDI 仅不提供完全等效的 JSF 2.0 @ViewScoped 注释。它提供的最接近的是@ConversationScoped,但您需要手动启动和结束注入的Conversation

CDI 不提供可以替换 @FacesConverter@FacesValidator 和喜欢的注释,但这可能不是您的主要要求。

【讨论】:

    猜你喜欢
    • 2011-05-11
    • 2013-06-13
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2011-06-17
    • 1970-01-01
    • 2015-10-17
    相关资源
    最近更新 更多