我刚刚开始阅读Java EE 6 Tutorial,我有点困惑!我知道JavaServer Pages(JSP),甚至在我的本科学习期间做了一些编码。但是现在,在本教程中,我没有看到任何关于JSP的内容。
相反,我读到了Facelets,一个新的视图定义框架(正如本教程中所描述的)。我在互联网上搜索了一下,以澄清JSP和Facelets之间的区别,我遇到了this post给了我很多帮助(特别是BalusC's answer)。但这些术语对我来说仍然有点不清楚。
JSP和Facelets有什么区别? Facelets是否会取代JSP,或者它只是一种与JSF更好的技术(如果它是后者,为什么)?如果它们不同,我应该何时使用它们?
答案 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标记就可以了。