JavaServer Faces(JSF)是一个标准框架,它通过在页面中启用可重用用户界面(UI)组件的组装,来简化基于服务器的应用程序的用户界面构造。JSF 使窗口小部件更易于连接至数据源和服务器端事件处理程序。
JSF 规范定义了一组标准的用户界面组件,并提供了应用程序编程接口(API)用于开发组件或者支持重用和扩展现有标准用户界面组件。
JSF 减少了创建和维护在 Java™ 应用程序服务器上运行的应用程序的工作,并将应用程序用户界面呈示给目标客户机。它通过以下方法简化了 Web 应用程序开发:
- 重用组件以创建用户界面。
- 将应用程序数据迁移至用户界面和从用户界面迁移应用程序数据。
- 管理各个服务器请求期间的用户界面状态。
- 支持实现定制组件。
- 提供相应的模型以将客户机生成的事件连线至服务器端应用程序代码。
JSF 为所有可用的输入字段提供了组件标记,并实现了模型-视图-控制器(MVC)设计框架,从而确保应用程序得到良好设计并更易于维护。JSF 允许 Java 程序员将重点放在与用户界面相集成的后端应用程序开发上。它允许 Web 页面创建者通过组装已包含必需逻辑的预先构建 JSF 组件来创建用户界面。
JSF 生命周期
每个呈示了 JSP 的 JavaServer Faces 请求都涉及 JSF 组件树(又称为视图),并贯穿由一些阶段构成的请求处理生命周期。请求处理生命周期的标准阶段以构建恢复视图开始,然后应用请求值、处理验证、更新模型值及调用应用程序。一旦调用了应用程序,就会呈示响应。在请求处理生命周期的几个阶段中,可以对事件进行排队。已排队的事件将广播至相关的事件侦听器。
JSF 用户界面组件模型
JSF 使您能够根据组件集创建 Web 应用程序,这些组件可以根据多种客户机类型以不同的方式来自行呈示。JSF 提供:
- 一组基本用户界面组件 - 标准 HTML 输入元素以及一个核心库。
- 基本用户界面组件的扩展,用来创建其他用户界面组件库或扩展现有组件。
- 多种呈示功能,使 JSF 用户界面组件能够根据客户机类型(例如,HTML 浏览器、无线设备或 WAP 设备)进行各种各样的自行呈示。
JSF 开发概述
要创建 JSF 应用程序:
- 定义并实现应用程序模型类。
- 对框架描述模型。
- 使用 JSP 创建应用程序视图。
- 定义数据验证规则。
- 定义控制器的视图导航。