javaEE 之 JSF与Facelets
JSF:一种构建java web的标准框架
JSF的生命周期分为运行阶段和渲染阶段两个主要的阶段
运行阶段:
当第一次请求时,构建或恢复应用程序视图。对于其他后续请求,执行其他操作,执行阶段被划分成以下子阶段:
1、恢复视图阶段
2、应用请求值阶段
3、流程验证阶段
4、更新模型值阶段
5、调用应用阶段
6、渲染响应阶段
各个阶段的详细说明如下:
渲染阶段:
在此阶段,请求的视图作为客服端浏览器的响应。视图渲染是以HTML或XHTML生成输出的过程。
在渲染过程中采取以下步骤:
1、当客服端对Index.XHTML网页进行初始请求时,编译应用程序。
2、应用程序在编译执行后,并为应用程序构建一个组件树,并放置在FacesContex中。
3、使用由EL表达式表示的组件和与其关联受托管bean属性填充组件树。
4、基于组件树,建立新视图。
5、该视图作为响应呈现给请求客服端。
6、组件树被自动销毁。
7、在后续请求中,重新构建组件树,并应用已保存的状态。
JSF生命周期中的事件处理例图:
在JSF应用程序中,JSF实现使用一个控制器servlet来处理请求,然后执行JSF的生命周期。JSF是基于事件驱动的 ,从“应用请求值阶段”开始,JSF实现会创建事件并在每个生命周期阶段间将其添加到事件队列中。
详细的阶段请见:https://www.yiibai.com/jsf/jsf-life-cycle.html
Facelets;
定义:
一种轻量级的页面声明语言。用于使用HTML样式构建JSF视图。是一种用来建立JSF应用程序时一个可供选择的表现层技术,它提供可供选择的强大的模板化系统,使用HTML样式的模板来定义JSF表现层,减少了组件整合进表现层时的冗余代码。
功能:
一:使用XHTML创建网页
二:除了支持JSF和JSLT标记库之外,还提供Facelets标签库
三:支持表达语言
四:使用组件和页面模板
详细请见:http://www.yiibai.com/jsf/facelets.html