当前,我的Web应用程序基于以下库/框架/工具:
一些其他信息:
Spring负责管理JSF使用的所有bean(在我的文件中org.springframework.web.jsf.DelegatingVariableResolver定义为)。variable-resolverfaces-config.xmlEL-Functors用作my el-resolver来扩展表达语言。我想尝试(本质上是出于好奇,但是如果这很好,为什么不真正呢?)将我的应用程序迁移到JSF 2.0。
问题1:为了使我的应用程序正确运行,必须考虑哪些关键点?
我在这里谈论的只是拥有一个正在运行的应用程序,仅此而已,仅此而已。
我已经知道我将必须检查所有自定义组件,因为我将使用新版本的Richfaces(4.0),并查看它们是否正常运行。
问题2:要利用JSF 2.0的第一步是什么?我已经有了一些想法:
EL-Functors并使用表达语言2.2;@ManagedBean。还是切换到CDI库(例如Weld)?<f:ajax>代替<a4j:support>?关于JavaEE6
我知道,一个好主意是完全迁移到JavaEE6。我很喜欢这样做,但是由于某些原因,我不能那样做。一个(不好的)原因是我必须留在Tomcat服务器上。但是,我可以添加新的第三方库以具有某些JavaEE6功能,例如EL 2.2...。因此,请在回答中考虑这一方面。
问候。
由于 Richfaces 4 仍在开发中,您可能希望将 Richfaces 3.3.3 与 JSF 2.0 一起使用。因此,您必须按照此处所述使用 Facelets 1.1.15 http://community.jboss.org/wiki/RichFaces333andJSF20
这意味着从 a4j:support 切换到 f:ajax 不适用于基于 Richfaces 的组件,因此我建议坚持使用 a4j:support。如果您决定在 Richfaces 4 可用后立即切换到它,这也将降低迁移工作量。
由于您已经使用 Spring 来管理 JSF-Bean,因此不需要使用 JSF2 的 DI-Features。我会坚持使用 Spring,但考虑更新到 Spring 3。
除此之外,Weld 绝对值得一看。
华泰