JSP和Facelets有什么区别?

时间:2010-02-04 03:28:53

标签: java jsp facelets

我刚刚开始阅读Java EE 6 Tutorial,我有点困惑!我知道JavaServer Pages(JSP),甚至在我的本科学习期间做了一些编码。但是现在,在本教程中,我没有看到任何关于JSP的内容。

相反,我读到了Facelets,一个新的视图定义框架(正如本教程中所描述的)。我在互联网上搜索了一下,以澄清JSP和Facelets之间的区别,我遇到了this post给了我很多帮助(特别是BalusC's answer)。但这些术语对我来说仍然有点不清楚。

JSP和Facelets有什么区别? Facelets是否会取代JSP,或者它只是一种与JSF更好的技术(如果它是后者,为什么)?如果它们不同,我应该何时使用它们?

1 个答案:

答案 0 :(得分:11)

正如您可以从教程中读到的那样,

  

术语Facelets用于指代   JavaServerTM Faces视图定义   框架,这是一个页面声明   开发使用的语言   使用JavaServer Faces技术。如   在JavaServer Faces 2.0中,Facelets是一个   JavaServer Faces规范的一部分   也是首选的演示文稿   构建JavaServer的技术   基于面孔的应用程序。

现在,JSP是Web的标准视图技术。但是,当采用JSF作为Web框架时,JSP不支持JSF 2.0中提供的所有功能。因此,需要一些标准视图技术来使用JSF 2.0。所以,Facelets就是这样。

如果您根本不使用JSF,则无需使用Facelets。在这种情况下,您可以使用JSP。或者很少有其他模板框架,如FreeMarker和Velocity。此外,一些Web框架定义了自己的标记,如Struts2。因此,如果您决定使用Struts,那么使用Struts标记就可以了。