JSF 生命周期

本文详细解析了JSF(JavaServer Faces)的生命周期各阶段,包括恢复视图、应用请求值、执行验证等,并介绍了JSF中的四种事件类型:动作事件、即时事件、值改变事件和阶段事件。此外还推荐了一些丰富的JSF组件库如Tomahawk和RichFaces。

JSF是基于事件驱动的

         学习JSF 我们就要想想  我们的程序在C/S下是怎么运作的 !

其实它的生命周期是比较需要我们去了解,明确的

它的生命周期 有下面的几个阶段

 1)恢复视图(Restore View)
        根据请求访问的视图ID(页面地址),重建JSF 组件DOM树。如果JSF页面是第一次访问,也即是试图ID在内存中没没有存根,那么JSF会在内存中构建JSF组件的DOM树。但是组件并没有值,只是一个模子。。

 

     2)应用请求值(Apply Request Values)
      JSF组件获取请求中的属于自己的值,包括Local,submit.同时处理转换,转换成功,更新local(submit转换结果),当然过程没有那么简单,JSF处理器有自己的一套解码过程。


     3) 执行验证


         如果组件注册验证器,依次执行验证.


     4)更新模型值:如果所有的组件本地值转换验证等均成功,此时JSF就会根据EL处理关联的bean,并更新bean绑定值.在此处JSF会根据EL绑定加载配置的后台bean

     5)调用应用:调用注册的侦听器,然后执行事件驱动,获取下一个视图。侦听器此时可以有效的侦听到UI组件的各项数据,事件驱动部分即action可以有效的获取被更新的后台bean数据。执行自己的业务逻辑。

 

     6)渲染响应(Render Response)
    到此请求处理结束,根据导航规则,渲染响应的页面.依次执行

<!--EndFragment-->

---------------------------------------------------------------》

JSF有如下 事件

  

 1)动作事件:Action Event:普通动作响应

 

          actionEvent是最普通的事件,任何command组件(buttonlink等,请参见UICommand)通过注册actionListener均可出发此事件侦听响应,简单说,用户有意义的操作,即可触发。


       2)即时事件:Immediate Event:立即处理,不验证/转换/更新模型值(bean不会保存属性)

 

         即时事件,立即触发,在JSF生命周期中,让恢复试图之后,获取请求值,立即触发。验证、转化、更新模型值被略过,当然更多的情况下,你需要一个为被注册的UI组件binding到后台bean中,别忘了,你使用即时事件的初衷是什么??就是我只想让程序关注此组件,并排斥其他组件或者级联组件的操作。场景:单一表单中,使用检测用户名是否存在。立即时间,常用来做bean层面即时服务,以执行action为主要目的。

 

       3)值改变事件:Value Change Event:选择UI值改变后,级联调度.如果国际化中选择语言.

 

 

 

       4)阶段事件:Phase Event:监听响应的JSF生命周期 

 通过 这个我们可以利用 来做权限验证    可以看  http://jsjxqjy.iteye.com/admin/blogs/613918

 

==================================

学习JSF  我们需要更多更丰富的组件,来完成一些功能 ,例如myface 的tomahawk  目前可以用的版本是 1.1.9

大家可以去 http://myfaces.apache.org/tomahawk/download.html       apache的官网下载  : tomahawk   组件目前支持 myface 1.2 及 sun的标准的JSF  1.2_12版本 ,

 

还有 jBoss开源组织的richFace  ,说实话 ,richface的确做得漂亮 .  目前我使用的版本是 3.3.2

 

================RichFaces 3.3.1:开发使用 文档

http://docs.jboss.org/richfaces/latest_3_3_X/en/devguide/html/index.html

 

 

//例子  richFace    demo
http://livedemo.exadel.com/richfaces-demo/richfaces/sortingFeature.jsf?c=sorting&tab=usage

 

 

一、数据采集层:多源人脸数据获取 该层负责从不同设备 / 渠道采集人脸原始数据,为后续模型训练与识别提供基础样本,核心功能包括: 1. 多设备适配采集 实时摄像头采集: 调用计算机内置摄像头(或外接 USB 摄像头),通过OpenCV的VideoCapture接口实时捕获视频流,支持手动触发 “拍照”(按指定快捷键如Space)或自动定时采集(如每 2 秒采集 1 张),采集时自动框选人脸区域(通过Haar级联分类器初步定位),确保样本聚焦人脸。 支持采集参数配置:可设置采集分辨率(如 640×480、1280×720)、图像格式(JPG/PNG)、单用户采集数量(如默认采集 20 张,确保样本多样性),采集过程中实时显示 “已采集数量 / 目标数量”,避免样本不足。 本地图像 / 视频导入: 支持批量导入本地人脸图像文件(支持 JPG、PNG、BMP 格式),自动过滤非图像文件;导入视频文件(MP4、AVI 格式)时,可按 “固定帧间隔”(如每 10 帧提取 1 张图像)或 “手动选择帧” 提取人脸样本,适用于无实时摄像头场景。 数据集对接: 支持接入公开人脸数据集(如 LFW、ORL),通过预设脚本自动读取数据集目录结构(按 “用户 ID - 样本图像” 分类),快速构建训练样本库,无需手动采集,降低系统开发与测试成本。 2. 采集过程辅助功能 人脸有效性校验:采集时通过OpenCV的Haar级联分类器(或MTCNN轻量级模型)实时检测图像中是否包含人脸,若未检测到人脸(如遮挡、侧脸角度过大),则弹窗提示 “未识别到人脸,请调整姿态”,避免无效样本存入。 样本标签管理:采集时需为每个样本绑定 “用户标签”(如姓名、ID 号),支持手动输入标签或从 Excel 名单批量导入标签(按 “标签 - 采集数量” 对应),采集完成后自动按 “标签 - 序号” 命名文件(如 “张三
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值