JSF规范一.docx

上传人:b****6 文档编号:12845735 上传时间:2023-06-08 格式:DOCX 页数:5 大小:49.83KB
下载 相关 举报
JSF规范一.docx_第1页
第1页 / 共5页
JSF规范一.docx_第2页
第2页 / 共5页
JSF规范一.docx_第3页
第3页 / 共5页
JSF规范一.docx_第4页
第4页 / 共5页
JSF规范一.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JSF规范一.docx

《JSF规范一.docx》由会员分享,可在线阅读,更多相关《JSF规范一.docx(5页珍藏版)》请在冰点文库上搜索。

JSF规范一.docx

JSF规范一

JSF规范

(一)

本文是基于JSF规范的翻译而来,并省掉一些无关紧要的章节。

如有不当之处请大家指正。

作者:

youfly   email:

seedcloned-pub@

转载请注明出处:

 

前言

本文描述的是JavaServerFaces1.2(JSF1.2)规范,由JCP(JavaCommunityProcess)的JSR-252的专家组开发(更多关于JCP的信息请参考

//www.jcp.org>)。

 

UnifiedExpressionLanguage(EL)

 

概述

2请求处理生命周期

每一个调用JSF组件树的请求都要经过定义好的由各个阶段组成的“请求处理生命周期”。

在这里有三个情景需要考虑,每个情景都有它自己的阶段组成和活动。

■非JSF请求生成JSF响应

■JSF请求生成JSF响应

■JSF请求生成非JSF响应

 

下面是使用到的术语定义:

 

■JSF响应(FacesResponse)—指由“请求处理生命周期”中的呈现响应阶段生成的响应。

■非JSF响应(Non-FacesResponse)—指不是由“请求处理生命周期”中的呈现响应阶段生成的响应.例如由servlet生成或者由JSP呈现的不是通过JSF组件生成的响应。

或者HTTP状态不是设成通常的200的响应(如Redirect)。

■JSF请求(FacesRequest)—指由先前的JSF响应发送的请求。

例如由用户接口组件(userinterfacecomponent)呈现的超级连接或form提交,其中的URI被处理(由组件或者呈现(renderer)生成)成用来标识处理请求的视图(view)。

■非JSF请求(Non-FacesRequest)—一个不是指向JSF视图(Facesview)被发送到应用组件的请求(例如servlet或者jsp页面).

 

当然你的应用程序可能接收到非JSF请求(non-Facesrequests)并且产生非JSF响应(non-Facesresponses)。

因为这些请求根本不会调用JavaServerFaces,它们的处理不在本规范的范围之内,因此不作更多的考虑和介绍。

请者注意:

本单的动态行为描述向前引用了一些章节所描述的类和接口。

当你碰到这些引用的时候,可能需要找到这些引用的类或接口用处并且忽略它们的定义。

然后回到本单节完成行为描述的阅读。

在后续的章节中你能够详细的学习到这些类或者接口的特性。

2.1请求处理生命周期情景

这里描述的每一个情景都有一个按照特定的顺序执行的各个阶段组成的生命周期。

下面的章节分别介绍各个章节。

 

2.2.1非JSF(non-Facesrequests)请求生成JSF响应(facesresponses)

一个应用程序可能需要处理非JSF请求(Non-FacesRequest),并用JSF响应(FacesResponse)来呈现这个请求。

为了达到这个目的,应用程序必须完成下面的一些活动。

 

■获取一个faces对象引用,在第2.4.1节“获取Faces对象引用”介绍。

■创建一个新的视图(view),在第2.4.2“创建和配置一个新的视图”介绍。

■通过调用FacesContext的setViewRoot()方法保存一个视图到FacesContext中。

■调用取到的Lifecycle实例的render()方法。

通知JSF实现开始处理“请求处理生命周期”的呈现响应(RenderResponse)阶段。

 

2.2.2JSF(facesrequests)请求生成JSF响应(facesresponses)

最常见的生命周期情况是先前的JSF响应包含将要提交的用户界面控制,利用请求的URI来印射到JSF实现的控制器中。

具体在10.1.2节“ServletMapping”中描述。

因为这些请求将被JSF实现作一些初始化的处理,因此应用需要经过一些特别的步骤—它的事件监听器(eventlisteners),验证(validators),和应用行为(applicationaction)都将标准的“请求处理生命周期”所调用。

下图描述了调用的流程:

“请求处理生命周期”各个阶段的具体行为分别在2.2章“标准请求处理生成周期”的各个子章节中介绍。

请注意“请求处理生命周期”中每个阶段的处理结果,根据所感兴趣的事件,组件树广播所有的它生成的FacesEvents,共用的事件逻辑(在章节2.3“共用事件处理”中介绍)被执行。

2.2.2JSF(facesrequests)请求生成非JSF响应(non-facesresponses)

通常基于JSF的应用程序利用“请求处理生命周期”的呈现响应(Renderresponse)阶段来生成发送到客户端的响应。

但是在一些环境中这个行为并不能满足人的要求,例如:

■一个JSF请求需要重定向到一个不同的web应用(通过调用HttpServletResponse.sendRedirect)。

■一个JSF请求使用其他技术生成响应(例如一个servlet,或者不包含JSF组件的JSP页面)。

 

在这种情况下应用程序应该使用标准的servlet或portletAPI来生成响应的头和内容。

因此有必要告诉JSF实现响应已经被生成,这样JSF实现就可以忽略“请求处理生命周期”的呈现阶段。

可以在事件处理器和应用行为(ApplicationAction)中调用FacesContext实例的responseComplete()来通知JSF响应已经被生成。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2