我刚开始读Java EE 6 Tutorial,我有点困惑!我了解JavaServer Pages (JSP),甚至在本科学习期间还做过一些编码工作。但是现在,在本教程中,我看不到任何关于JSP的东西。
相反,我读到了Facelets,一种新的视图定义框架(正如本教程中所描述的那样)。我在互联网上搜索了一下,澄清了JSP和Facelets之间的区别,我找到了对我有很大帮助的this post (特别是BalusC's answer)。但对我来说,这些术语仍然有一点不清楚。
JSP和Facelets之间的区别是什么?Facelets是要取代JSP,还是只是一种能更好地与JSF协同工作的技术(如果是后者,为什么)?如果它们是不同的,我应该在什么时候使用它们?
发布于 2010-02-04 11:46:29
正如您可以从教程中读到的,
术语Facelets用于指代JavaServerTM Faces视图定义框架,这是一种为使用JavaServer Faces技术而开发的页面声明语言。从JavaServer Faces 2.0开始,Facelets是JavaServer Faces规范的一部分,也是构建基于JavaServer Faces的应用程序的首选表示技术。
现在,JSP是web的标准视图技术。但是当涉及到采用JSF作为web框架时,JSP并不支持JSF 2.0中提供的所有功能。因此,需要一些标准的视图技术来使用JSF2.0。所以,Facelets就是这样。
如果您根本不使用JSF,则不需要使用Facelets。在这种情况下,您可以使用JSP。或者几乎没有其他模板框架,比如FreeMarker和Velocity。此外,一些web框架定义了自己的标记,如Struts2。因此,如果您决定使用Struts,那么使用Struts标记是可行的。
https://stackoverflow.com/questions/2197139
复制相似问题