我可以在JSF 1.2应用程序中使用JSF 2.0注释吗



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

如果不基本上将整个组件升级到JSF 2.0,就无法在JSF 1.2中使用JSF 2.0注释。但是,您可以在JSF 1.2中使用CDI注释(@Named@Inject等)。当您使用旧的JSF 1.2时,我假设您使用的是旧的Java EE 5/Servlet 2.5容器。尽管CDI是JavaEE6的一部分,但您可以在兼容JavaEE5/Servlet 2.5的容器中使用独立的CDI实现。CDI实现之一是JBoss-Weld。Tomcat6甚至正式支持它。

CDI将涵盖JSF 2.0作为托管bean注释所提供的大部分内容,包括三个主要作用域@RequestScoped@SessionScoped@ApplicationScoped。CDI只是没有提供与JSF 2.0 @ViewScoped注释完全等价的东西。它提供的最接近的是@ConversationScoped,但您需要手动启动和结束注入的Conversation

CDI不提供可以取代@FacesConverter@FacesValidator等的注释,但这可能不是您的主要需求。

最新更新