我有些困惑!我了解JavaServerPages(JSP),甚至在我的大学学习期间都做了一些编码。但是现在,在本教程中,我没有看到有关JSP的任何信息。
取而代之的是,我读到了有关Facelets(一种新的视图定义框架)的信息(如本教程中所述)。我在Internet上进行了一些搜索,以弄清JSP和Facelets之间的区别。但是这些术语对我来说还不清楚。
JSP和Facelets有什么区别?Facelets是要取代JSP,还是仅仅是一种与JSF更好地结合的技术(如果是后者,为什么)?如果它们不同,我什么时候应该使用它们中的每一个?
您可以从本教程中了解到,
术语Facelets用于指JavaServerTM Faces视图定义框架,它是一种页面声明语言,是为与JavaServer Faces技术一起使用而开发的。从JavaServer Faces 2.0开始,Facelets是JavaServer Faces规范的一部分,也是构建基于JavaServer Faces的应用程序的首选表示技术。
现在,JSP是Web的标准视图技术。但是,将JSF用作Web框架时,JSP不支持JSF 2.0中提供的所有功能。因此,需要一些标准视图技术才能与JSF 2.0一起使用。因此,Facelets就是这样。
如果您根本不使用JSF,则不需要使用Facelets。在这种情况下,您可以使用JSP。或者还有其他模板模板框架,例如FreeMarker和Velocity。此外,某些Web框架定义了自己的标记,例如Struts2。因此,如果您决定使用Struts,则使用Struts标记是可行的方法。