当前位置: 首页 > 图文教程 > 开发语言 > VC++ > VC++:浅谈JSF 生命周期

VC++
面试题目:猫吃老鼠问题的求解
一个最基本的有限元计算程序
简单的表达式求值
C程序移植到VC开发环境下
一个小语言的词法分析程序
A/B 向上取整的方法
马走日棋盘算法
一种随机抽题的简单算法
clone模式在平衡排序二叉树实现中的应用
递归的应用 -- 最简单分形图形实现
比较数据排序前后的查找次数
根据前序和中序序列生成二叉树
如何用CZip/CUnzip类压缩/解压缩文件
使用 random_shuffle() 算法随机化序列元素
Ceb解除打印屏蔽实战
基于SHA-256的HMAC文件校验器
模拟信息加密流程图简介
关于数据校验
浅谈利用RSA算法防止非法注册机的制作
加密它:用新的高级加密标准(AES)保持你的数据安全

VC++:浅谈JSF 生命周期


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 454 ::
收藏到网摘: n/a

 

JSF的每个组件基本上都是可替换的,像是转换器(Converter)、验证器(Validator)、组件(Component)、绘制器(Renderer)等等,每个组件都可以替换让JSF在使用时更有弹性,但相对的所付出的就是组件组合时的复杂性,为此,最基本的,如果您打算自订一些 JSF组件,那么您对于JSF处理请求的每个阶段必须要有所了解。

 

    扣除事件处理,JSF总共必须经过六个阶段:

 

回复画面(Restore View

  对于选择的页面如果是初次浏览则建立新的组件树。如果是会话阶段,会从使用者端或服务器端的数据找寻数据以回复每个组件的状态并重建组件树,如果不包括请求参数,则直接跳过接下来的阶段直接绘制响应。

 

套用申请值(Apply Request Values

  每个组件尝试从到来的请求中找寻自己的参数并更新组件值,在这边会触发ActionEvent,这个事件会被排入队列中,然后在唤起应用程序阶段之后才会真正由事件处理者进行处理。

然而对于设定immeduatetrue的命令(Commamnd)组件来说,会立即处理事件并跳过之后的阶段直接绘制响应,而对于设定immediatetrue的输入(Input)组件,会马上进行转换验证并处理值变事件,之后跳过接下来的阶段,直接绘制响应。

 

执行验证(Process Validations

  进行转换与验证处理,如果验证错误,则会跳过之后的阶段,直接绘制响应,结果是重新呼叫同一页绘制结果。

 

更新模型值(Update Model Values

  更新每一个与组件绑定的backing bean或模型对象。

 

唤起应用程序(Invoke Application

  处理动作事件,并进行后端应用程序逻辑。

 

绘制回应(Render Response

  使用绘制器绘制页面。

 

  如果您只是要使用JSF,则您最基本的只需要知道执行验证、更新模型值、与唤起应用程序这三个阶段及中间的事件触发,JSF参考实作将这三个阶段之外的其它阶段之复杂性隐藏起来了,您不需要知道这几个阶段的处理细节。

 

  然而如果您要自订组件,则您还必须知道回复画面、套用请求值与绘制响应这些阶段是如何处理的,这几个阶段相当复杂,所幸的是您可以使用JSF 所提供的框架来进行组件自订,JSF提供的框架已经很大程度上降低了组件制作的复杂性。

 

  当然,即使JSF框架降低了复杂性,但实际上要处理JSF自订组件还是很复杂的一件事,在尝试开发自订组件之前,您可以先搜寻一些网站,像是 Apache MyFaces http://myfaces.apache.org/,看看是不是已经有相关类似的组件已经开发完成,省去您重新自订组件的气力。