目前,我的Web应用程序基于以下库/框架/工具:
- Java 1.6
- JSF 1.2_07-b03-FCS
- Facelets 1.1.14
- Richfaces 3.3.2.GA
- EL-Functors 1.0.2
- Spring 2.5.2
- Tomcat服务器v5.5
一些额外的信息:
Spring
负责管理JSF使用的所有bean(在我的faces-config.xml
文件中,org.springframework.web.jsf.DelegatingVariableResolver
被定义为variable-resolver
)。EL-Functors
被用作我的el-resolver
,以扩展表达式语言。- 我创建了许多自定义组件,其中一些只是Facelets组合,另一些是基于Java的组件(其中一些是扩展Richfaces组件)。
我想尝试(基本上出于好奇心,但如果这很好用,为什么不用于实际?)将我的应用程序迁移到JSF 2.0。
问题#1:我必须考虑哪些关键点才能使我的应用程序正常工作?
我在这里谈论的只是拥有一个可用的应用程序,没有更少,也没有更多。
我已经知道,我将不得不查看所有自定义组件,因为我将使用新版本的Richfaces(4.0),并查看它们是否正常工作。
问题#2:实现利用JSF 2.0的第一步是什么?
我已经有一些想法:
- 删除
EL-Functors
并使用表达式语言2.2; - 让JSF管理bean,并使用
@ManagedBean
。或者换成CDI库,例如Weld? - 使用
<f:ajax>
而不是<a4j:support>
?
关于JavaEE6
我知道,一个好主意是完全转移到JavaEE6。我想这样做,但出于某些原因,我不能那样做。一个(糟糕的)原因是我必须留在Tomcat服务器上。 然而,我可以添加新的第三方库,以便拥有一些JavaEE6功能,例如EL 2.2… 所以,请在您的答案中考虑这个方面。
问候。