为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Facelets作为JSF2.0以后的视图定义语言比JSP更受欢迎?

为什么Facelets作为JSF2.0以后的视图定义语言比JSP更受欢迎?

梵蒂冈之花 2019-07-30 17:29:54
为什么Facelets作为JSF2.0以后的视图定义语言比JSP更受欢迎?我从JSF2.0开始看到,Facelets视图定义语言是首选的视图定义语言,而不是作为遗留后退而被弃用的JSP。我想理解为什么Facelets比JSF2.0以后的视图定义语言更优先于JSP?我知道JSP也有一些模板行为,这是采用Facelets的主要驱动点。PS:我在stackoverflow上经历过这篇文章,但我不认为它回答了我的问题。因此将此作为单独的问题发布。
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

确实,JSP具有一些 模板功能,但在JSF中使用JSP的最大缺点是JSP在遇到模板文本内容时立即写入响应,而JSF希望使用它进行一些前/后处理。在JSF 1.0 / 1.1中有以下JSF代码

<h:outputText value="first"> second <h:outputText value="third"> fourth

会产生

第二名第四名

这是在JSF 1.0 / 1.1期间头疼的问题。开发人员将需要包装模板文本一样second,并fourth在上面的例子<f:verbatim>在所有地方的标签。JSF 1.2已经通过一个改进的视图处理程序来解决它,该处理程序解析JSP而不是执行它,但由于JSP语法不像XML那样“格式良好”,因此它仍然非常笨拙。强烈需要基于XML的视图技术,以便可以使用基于SAX的高效解析器。Facelets诞生了(在Ken Paulsen的“JSFTemplating”中)。

此外,统一的EL #{}不能在JSP模板文本中使用,导致丑陋 - 并且对于初学者而言不直观 - 混合${}#{}。此外,JSTL可以在JSP上的JSF 1.x中不能用作视图构建时间标记。此外,带有<% %>东西的JSP语法是老派,在JSP中嵌入原始Java代码的可能性被认为是打破MVC意识形态的一种非常糟糕的做法

总而言之,从JSF / MVC的角度来看,JSP简直是丑陋而且非常糟糕,Facelets简直干净且令人敬畏。


查看完整回答
反对 回复 2019-07-30
  • 2 回答
  • 0 关注
  • 474 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号