一尘不染

JSF vs Facelets vs JSP

jsp

对于Java Server Faces 与所谓的 facelets 之间的具体区别,我似乎无法获得明确的答案。谁能给我一个清晰的答案?!?

另外,我知道可以使用JSF或JSP来创建动态网页,但是两个看似矛盾的细节使我感到困惑。我听说过以下两个方面:

  1. JSF是JSP的替代品;和

  2. JSF和JSP 在Java的Web层MVC范例中构成了 View的 不同部分

那是什么呢?逻辑表明,几乎肯定不能两者兼有!


阅读 305

收藏
2020-06-08

共1个答案

一尘不染

  • JSF是基于MVC模式的Web UI的标准化Java框架
  • JSP是用于从模板生成网页的(更旧的)标准-它们 可以 在JSF应用程序中用作View,也可以与JSF分开使用。
  • Facelets是基于纯XML模板(无scriptlets)的替代视图技术,该技术是JSF标准的版本2引入的。它们只能在JSF应用程序中使用。

鉴于此,让我们看一下您矛盾的陈述:

JSF是JSP的替代品;和

事实并非如此,因为JSF可以将JSP用于其视图(并且必须在JSF
2之前使用)。但是,使用Facelets的JSF应用程序可以看作是基于JSP的技术的替代品。

JSF和JSP在Java的Web层MVC范例中构成了View的不同部分

完全错误-JSF涵盖了整个MVC模式(尽管它可以与EJB重叠,因为两者都基于可以混合在同一类中的注释)。

2020-06-08