即使我花了一整天开发一个JSF应用程序,我也从来没有接受任何关于这个问题的培训,而且我必须管理我仍然仍然混淆整个JSF难题是如何组合在一起的。 JSF看起来有点像我一样。
如果有人能够快速描述这些组件,哪些是标准组件,哪些组件可以省略,哪些组件可以/需要一起使用,我将非常感激
答案 0 :(得分:3)
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以获取建议)。
Apache特立尼达和多巴哥
这些是提供组件和其他工具的JSF库。因为核心控件集是相当基本的,所以通常使用这样的库,尤其是在不使用Facelets的情况下。这些不是Java EE标准的一部分。库兼容性各不相同另请参阅jsfmatrix.net。
答案 1 :(得分:2)