`
Mojarra
  • 浏览: 130841 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JSF 页面生命周期管理 (一)

    博客分类:
  • JSF
 
阅读更多


JSF 面的生命周期 似于 JSP 面。当客 为页 创见 一个 HTTP ,服 器端响 应这个页面并翻译 HTML 。因 JSF 提供了 外功能,因此,生命周期提供了一些 外的服 面。


员,除了 需要知道 生命周期过程中中,比如什么时候对进行数据校验、数据转换和事件发生时刻这些外,还可能需要知道这些能做什么;如何改变这些的处理方式和时间。


一个树形的 UI组件描述一个 JSF页面,叫视图。当客户端为这个页面创造一个请求,生命周期开始,在整个生命周期中,考虑到页面当前视图状态从前一个子阶段保存而来, JSF的实现框架( MyFaces OpenFaces Glassfish等)必须创建这个视图。当客户端提交一个页面, JSF实现框架必须执行几个任务,比如校验当前视图中输入的数据,然后转换这些数据为服务端所需要的数据类型。 JSF实现框架执行所有这些任务——生命周期中一系列的步骤。


哪一个步骤需被执行取决于请求是否出之于 JSF应用和响应是否生成于 JSF生命周期的渲染阶段。

JSF应用支持两种响应和两种请求类型:

1.     Faces Response, 一种 Servlet响应,创建于 Render Response Phase阶段

2.     Non-Faces Response, 一种 Servlet响应,不在 Render Response Phase阶段创建的,比如一个 JSP页没有包含任何的 JSF组件。

3.     Faces Request, 一种 Servlet请求,由前一个已生成的 Faces响应发送。比如一个表单是从一个 JSF UI组件发送,并且请求的 URI指示应用 JSF的组件树去处理这个请求。

4.     Non-Faces Request, 一种 Servlet请求发送到一个应用组件,比如 JSP或者 Servlet,而不是直接发送到 JSF的 组件上。

 

为这 些不同 型的 求和响 致三种可能的生命周期 合存在于 JSF 用之中:

1.     Non-Faces Request Faces Response

比如,点击 HTML页面上的超链接,打开一个 JSF页面,从一个 Non-Faces Request渲染 Faces Response JSF应用必须提供 FacesServer对应关系,来接受传入请求并且传递这些请求到生命周期实现中去处理,表明生命周期处理 Servlet描述怎么样去提供一个对应关系给 FacesServlet。在生成一个 Faces Response时, JSF应用必须创建一个新视图,保存 FacesContext对象,以期获得视图必须要的对象引用—— FacesContext.renderResponse, 它立即跳过 Render Response Phase,强制渲染视图。

 

2.     Faces Request Non-Faces Response

有时, JSF应用重定向至不同的 WEB应用或者重定向至不包含任何 JSF组件的 JSP Servlet,这种情况下,开发人员必须通过调用 FacesContext.responseComplete来跳过 Render Response Phase这个阶段。 FacesContext对象包含了一个特定 Faces  Request的所有的信息,这个方法还可以在 Apply Request Values Phase, Process Validation Phase Update Model Values Phase这三个阶段被调用。

3.     Faces Request Faces Response

JSF 生命周期中最常 合,它也是 标准请求处理描述下一个阶段的处理方式。这个场合里,包含了 JSF组件利用 FacesServlet提交一个请求到 JSF应用。因为请求已经被处理,无须额外的步骤去生成响应,在相关的阶段,所有的监听器,校验器和转换器会自动地被调用。

 

理生命周期

理生命周期代表第三种 合。多数 JSF 不要抱怨生命周器 理方式。确 JSF 丰富去 执行页面处理过程,所以开发人员不用去面对象组件的状态改变这类复杂的渲染问题。比如,选择一个 checkbox会影响到页面上其他组件的外观行为。 JSF会正确地处理这些事件,并且不会让页面渲染而不反映出这个变化。

JSF生命周期 来至Java官网

 

来,生命周期有两种 求,初始 求和提交 求。用 第一 ,会建立一个初始 求, 请求的页面会被服务器端装载,并转换成 HTML,响应给浏览器,当用户在这个页面上提交表单时, JSF处理提交请求。生命周期处理初始请求时,只执行 Restore View Render Response两个阶段因为这个请求中用户没有输入数据,相反地,生命周期处理提交请求时,会执行所有的阶段。


tobe continue

分享到:
评论

相关推荐

    JSF生命周期的事件处理

    其中,JSF的生命周期管理机制是其核心特性之一,它包括了一系列有序的阶段,每个阶段都可能触发不同的事件,这些事件需要被正确地处理。 #### 一、JSF生命周期概述 在深入了解JSF中的事件处理之前,我们先简要回顾...

    jsf页面

    它通过事件驱动模型处理用户交互,并且有强大的生命周期管理。 2. **组件库**:JSF包含一系列可重用的UI组件,如按钮、输入字段、表格等,这些组件可以方便地在页面上进行布局和组合。例如,`h:inputText`用于创建...

    JSF生命周期实例,还要多长啊

    JSF生命周期是理解其工作原理的关键,它包括六个主要阶段:恢复视图、应用请求值、处理验证、更新模型值、调用应用逻辑和渲染响应。在这些阶段中,每个阶段都有特定的任务,确保用户输入被正确处理并更新到服务器端...

    JSF 应用程序的生命周期.rar

    总的来说,JSF生命周期提供了一种有序的方式来处理Web应用程序的用户交互,简化了开发流程,同时也提供了强大的功能和灵活性。开发者可以根据需求利用JSF的生命周期特性,优化应用程序的性能和用户体验。

    JSF第一步

    此外,还可能涉及JSF的生命周期,包括初始化、渲染和更新等阶段。 "第3章.pdf"通常会深入到JSF组件库。JSF提供了一系列内置的UI组件,如文本输入框、按钮、表单等,这些组件可以直接在Facelets模板中使用。本章可能...

    jsf第一个例子 jsf架包 jsf实例

    1. **JSF生命周期**:JSF有六个主要阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用业务逻辑以及渲染响应。开发者可以在这些阶段插入自定义行为。 2. **JSF页面(Facelets)**:JSF使用Facelets...

    学生成绩管理系统_JSF

    每个JSF页面都是由多个组件组成的,这些组件可以独立配置和重用。例如,可以在多个地方使用同一个成绩展示组件,只需改变组件的数据源即可。 **5. 视图和导航** 在成绩管理系统中,视图和导航是关键。JSF支持基于...

    jsf入门实例教程

    例如,一个简单的JSF页面可能包含一个输入字段和一个按钮: ```html <!DOCTYPE html> xmlns:h="http://xmlns.jcp.org/jsf/html"> <title>JSF示例 提交" action="#{bean.submit}" /> ``` 这里,`h:...

    一个最基本的JSF例子

    8. **生命周期**:JSF组件有一个明确的生命周期,包括初始化、处理请求、应用请求值、更新模型值、验证、调用应用事件和渲染响应等阶段。理解这个生命周期对于调试和优化JSF应用程序至关重要。 通过这个基础的JSF...

    jsf规范

    JSF的每个请求都经历一个预定义的“请求处理生命周期”,分为若干阶段,包括初始化、应用请求值、过程验证、更新模型值、调用应用、呈现响应等。这个生命周期根据不同的请求类型有不同的执行路径,例如: 1. **非...

    JSF 学生管理系统

    5. **JSF生命周期**: JSF有六步生命周期,包括初始化、应用请求值、处理验证、更新模型值、调用应用事件和渲染响应。理解这个生命周期对于优化性能和处理错误至关重要。 6. **转换和验证**: 在学生管理系统中,可能...

    jsf学生管理系统demo

    JSF的核心概念包括组件、事件、生命周期和渲染。组件是UI的基本构建块,如按钮、文本输入等,它们通过JSF的XML配置文件( faces-config.xml)或注解进行定义和连接。事件处理机制允许组件之间进行通信,而JSF的四个...

    jsf的必读教科书

    JSF 的生命周期管理是理解其工作原理的关键所在。JSF 2.2的生命周期主要包括以下几个阶段: 1. **恢复视图(View Restore)**:在这个阶段,JSF会从客户端请求中恢复出视图树。如果视图尚未创建,则会从视图声明语言...

    jsf,spring酒店预定管理系统

    这可能包括如何设置JSF和Spring的集成环境,创建JSF页面并与Spring服务交互,以及如何处理酒店预定的业务逻辑。文件可能包含源代码示例、配置文件和解释性的文本,帮助读者理解系统的具体实现。 总之,JSF和Spring...

    jsf例子\监听器 例子

    总之,JSF的事件处理机制提供了灵活的方式来响应用户操作,同时结合生命周期管理,确保了应用程序能够正确地处理输入、验证数据、更新模型并呈现响应。理解和掌握这些概念对于开发健壮的JSF应用程序至关重要。通过...

    jsf第一步

    5. **生命周期**:JSF有七个阶段,包括恢复视图、应用请求值、处理验证、更新模型值、调用应用、渲染响应和结束请求。在这些阶段中,开发者可以插入自定义逻辑。 第13章的“源码”可能包含示例应用的代码,这将帮助...

    图书管理系统-BookM_JSF_Hibernate_Spring

    JSF的核心在于其生命周期,包括六种不同的阶段:恢复视图、应用请求值、处理验证、更新模型值、调用应用和渲染响应。通过JSF,开发者可以将业务逻辑与视图层分离,简化开发过程。 **Hibernate** Hibernate是一个...

    IBM JSF学习资料

    每个组件都有自己的生命周期,包括初始化、渲染等阶段。JSF通过Model-View-Controller(MVC)架构来组织应用程序,简化了前后端交互,使得开发者能够专注于业务逻辑而无需过多关注底层细节。 **2. IBM的JSF实现** ...

    JSF开发-学生信息管理系统

    它们是Java类,可以通过JSF生命周期进行管理,提供了在视图和控制层之间传递数据的方法。在学生管理系统中,会有一个或多个Managed Beans来处理学生信息的增删改查操作。 4. **转换与验证**: JSF提供了内置的转换器...

Global site tag (gtag.js) - Google Analytics