对于Java Server Faces 与所谓的 facelets 之间的具体区别,我似乎无法得到明确的答案。谁能给我一个明确的答案?!?
另外,我知道JSF或JSP可用于创建动态网页,但两个看似相互冲突的细节让我感到困惑。我听说过以下两种情况:
JSF是JSP的替代品;以及
JSF和JSP构成了Java的Web层MVC范例中 View 的不同部分
那是哪个?逻辑决定它几乎肯定不能两者兼得!
答案 0 :(得分:126)
鉴于此,让我们来看看你的冲突陈述:
JSF是JSP的替代品;和
不完全正确,因为JSF可以将JSP用于其视图(并且必须在JSF 2之前)。但是,使用Facelets的JSF应用程序可以被视为基于JSP的技术的替代品。
JSF和JSP构成了Java的Web层MVC范例中View的不同部分
完全错误 - JSF涵盖整个MVC模式(尽管它可以与EJB重叠,因为它们都基于可以在同一个类中混合的注释)。
答案 1 :(得分:10)
JSF 是基于组件驱动的UI设计模型的请求驱动的MVC web 框架,使用称为视图模板或 Facelets 视图的XML文件。
JSF是Web框架,Facelet是JSF的视图模板
JavaServer Pages( JSP )是一种Java技术,可帮助软件开发人员基于HTML,XML动态生成网页,
答案 2 :(得分:5)
Java Server Pages(JSP)是一种Java技术,它使Web开发人员和设计人员能够快速开发和轻松维护利用现有业务系统的信息丰富的动态Web页面。 JSP技术将用户界面与内容生成分开,使设计人员能够在不改变底层动态内容的情况下更改整体页面布局。
Facelets 是第一个为 JSF(Java Server Faces)设计的非JSP页面声明语言,与JSP相比,它为JSF开发人员提供了更简单,更强大的编程模型。它解决了JSP中用于Web应用程序开发的不同问题。
这是一个比较scriplets和facelets特征的表格:
答案 3 :(得分:3)
我一直在寻找同一个问题的答案。 我发现这些链接非常有用:
JSP应用程序模型的示例: http://netbeans.org/kb/docs/javaee/ecommerce/design.html#architecture
基本的JSF概念,一些例子: http://netbeans.org/kb/docs/javaee/ecommerce/conclusion.html#framework