尽管我花了整整一天的时间开发一个JSF应用程序,但我从来没有对此事进行任何培训,而且我必须管理我是一个仍然混淆了整个JSF难题适合在一起。 JSF只是看起来有点扔给我。向我解释不同的JSF组件库相关
- JSF-API
- jslt
- 小面
- MyFaces的
- 特立尼达
- 多巴哥
- JSP API
,我会很感激,如果任何人都可以给我简要介绍了这些组件NTS,哪些是标准,哪些可以被排除在外,哪些可以/需要一起使用
尽管我花了整整一天的时间开发一个JSF应用程序,但我从来没有对此事进行任何培训,而且我必须管理我是一个仍然混淆了整个JSF难题适合在一起。 JSF只是看起来有点扔给我。向我解释不同的JSF组件库相关
,我会很感激,如果任何人都可以给我简要介绍了这些组件NTS,哪些是标准,哪些可以被排除在外,哪些可以/需要一起使用
JSP和JSTL
JSP有经历了许多迭代,但这是Java EE的核心动态页面技术。这是一个可服务的API,但使用JSP通常意味着更多的手动管理代码/资源。
JSTL是JSP标准模板库。这是一组标准的JSP标签。不要将这些标签与JSF标签混合;它们属于不同的编程模型。
JSF API
JSF规范。这是JSF Model-View-Presenter框架的核心。这指定了一组简单的核心组件和核心生命周期工件。有两个广为人知的实现:Mojarra(开源的Sun API)和Apache MyFaces。 Java EE 5及更高版本的一部分。
的Facelets
视图技术设计用于JSF。使用此代替JSP。您不能在Facelets视图中使用JSP标签。这在Java EE 5中不是标准的,但是在JSF2中进行了标准化(因此即将推出Java EE 6)。 Facelets提供的更好的模板通常意味着您可以更少地依赖第三方库。
Facelets提供了一些看起来像JSP JSTL标签但不共享任何代码的标签。通常应该避免使用这些标签(请参阅Facelets doc获取建议)。
阿帕奇特立尼达和多巴哥
这些是提供组件和其他设施JSF库。由于核心控件集合相当基础,因此常常使用这样的库,特别是在不使用Facelets的情况下。这些不是Java EE标准的一部分。库兼容性各不相同另请参阅jsfmatrix.net。
我并不主张全面禁止JSTL标签 - 民众应该阅读文档并自行判断。这是一个人们遇到问题的领域,尤其是当他们将JSP期望纳入JSF应用程序并将其作为另一个标记库处理时。将JSF和非JSF标签混合在一起需要详细了解两个生命周期(并且我常常觉得我太像编程到实现而不是抽象)。不过,你对这些功能是正确的。新的应用程序应该尝试使用Facelets - 它更适合。 – McDowell 2009-11-20 10:15:47
JSTL不是JSP标准标签库吗? – InverseFalcon 2009-12-17 23:02:06
@InverseFalcon - 这是,但我不确定你的意思。 – McDowell 2009-12-18 10:18:39