目前,我的网络应用程序基于以下库/框架/工具:
其他一些信息:
Spring
负责管理JSF使用的所有bean(org.springframework.web.jsf.DelegatingVariableResolver
在我的variable-resolver
文件中定义为faces-config.xml
。EL-Functors
用作我的el-resolver
以扩展表达式语言。 我想尝试(主要是为了好奇,但如果这很好,为什么不能真正的?)将我的应用程序迁移到JSF 2.0。
问题#1 :为了使我的应用程序正常运行,我必须考虑哪些关键点?
我在这里谈论的只是一个工作应用程序,仅此而已,仅此而已。
我知道我必须检查所有自定义组件,因为我将使用新版本的Richfaces(4.0),并查看它们是否正常工作。
问题#2 :利用JSF 2.0实现的第一步是什么? 我已经有的一些想法是:
EL-Functors
并使用Expression Language 2.2; @ManagedBean
。或者可以切换到CDI库,例如Weld?<f:ajax>
代替<a4j:support>
?关于JavaEE6
我知道,一个好主意是完全转移到JavaEE6。我喜欢这样做,但由于某些原因我不能这样做。一个(坏)原因是我必须留在Tomcat服务器上。 但是,我可以添加新的第三方库以获得一些JavaEE6功能,例如EL 2.2 ...... 所以请在答案中考虑这个方面。
问候。
答案 0 :(得分:1)
由于Richfaces 4仍处于开发阶段,您可能希望将Richfaces 3.3.3与JSF 2.0一起使用。 因此,您必须使用此处所述的Facelets 1.1.15 http://community.jboss.org/wiki/RichFaces333andJSF20
这意味着从a4j:支持切换到f:ajax将不适用于基于Richfaces的组件,因此我建议坚持使用a4j:support。如果您决定在Richfaces 4可用时立即切换到Richfaces 4,这也将使迁移工作量保持在较低水平。
由于您已经使用Spring来管理JSF-Beans,因此不需要使用JSF2的DI功能。我坚持使用Spring,但考虑对Spring 3进行更新。
除此之外,Weld还是值得一看的。
HTH
答案 1 :(得分:1)
如果您打算继续使用Tomcat,那么转移到Java EE 6意味着您将会看到Tomcat版本7。
但是如果你想要一个成熟的Java EE 6服务器,那么GlassFish 3或JBoss 6是一个更好的选择。当你尝试做某些事情,比如CDI(Weld)或EJB 3时,Tomcat可能会很糟糕。
我的两分钱值得。希望它有所帮助...