作为一种 Web 框架,JavaServer Faces (JSF) 提供了端到端的生命周期管理和具有完整事件处理和数据绑定的丰富组件模型。Dojo 是一种十分流行的 Asynchronous JavaScript + XML (Ajax) 库,可为 Web2.0 应用程序提供丰富的小部件和美妙效果。借助 JSF 和 Dojo 技术,您就可以通过在服务器端使用 JSF 集成特性、在客户机端使用 Dojo 用户界面创建一种更好的用户体验。本文介绍了这一过程并向您展示了如何能轻松构建 Web 应用程序来为您的用户提供更好的用户体验。
简介
JSF 是一种流行的 Web 框架、相当稳定并已被广泛应用于 Java™ Platform, Enterprise Edition (Java EE) 领域。Dojo 是一种功能最为强大的 Web 2.0 库之一,可用来为您的 Web 应用程序创建丰富的界面。
通过综合使用这两种技术,您就能享受到两种技术的好处。在服务器端,好处体现在对组件端对端的生命周期管理、后端 bean 数据捆绑和事件处理。在客户机端,您将能利用 Dojo 的丰富小部件、实时动画(比如淡出和滑变效果)以及拖放功能。此外,借助 Dojo 框架的 API 支持,您还能通过将更多的逻辑放在客户机端提高性能。
如下所示的是本文利用 JSF 和 Dojo 技术的方式:
◆延迟捆绑 JSF 组件和客户机端的 Dojo小部件
◆构建一个定制的 JSF 组件来启用 Dojo小部件
◆对 JSF 组件进行延缓注入和解析为 Dojo小部件
本文的示例 JSF 应用程序由两个页面组成:Create Project 和 Project result。图 1 和图 2 展示了这两个页面。为了方便理解,图中所示的这些示例将用在本文描述的所有方式当中以便展示如何综合 Dojo 和一个 JSF 应用程序
方式 1:延迟捆绑 JSF 组件和客户机端的 Dojo小部件
这种方式是一种最简单的将 Dojo 样式应用到 JSF 组件的方式。我们只需使用 JavaScript 来绑定 JSF 组件和客户机端的 Dojo小部件。通过使用 JavaScript,数据就可被传递并能在 JSF 组件和 Dojo小部件间保持一致。
方式 2:构建定制 JSF 组件来启用 Dojo小部件
JSF 是一种功能强大的 Web 框架。它不仅为 Web 应用程序提供了标准的用户界面组件,它还是一种非常灵活的 API,允许用户定制。在本节中,我们将介绍如何开发综合了 Dojo 样式的定制 JSF 组件。
通常,JSF 组件将包含如下部分:
◆UIComponent Class:该类获取自 UIComponentBase 或其他已有的 JSF 组件,比如 outputText。这个类代表的是整个 JSF 组件的核心逻辑。
◆Render Class:该类用来呈现组件。通常,它负责处理如何生成要呈现的 HTML 代码,所以它是本节的关键所在。我们需要更改这个类并让其生成 Dojo 样式的 HTML 代码。
◆UI Component Tag Class:它是一个 JSP 标记处理程序类,能让 UI Component 用于 JSP 页面。它还能关联一个单独的呈现类和一个 UIComponent 类。
◆Tag Library Descriptor File:这是一个标准的 JavaEE JSP 标记库描述符(tld)文件,能关联标记处理程序类与 JSP 页面内的一个可用标记。
我们将继续以创建项目的场景为例来展示如何创建一个具备 dojo 验证功能的输入文本 JSF 组件。
结束语
集成 JSF 与 Dojo 非常有用。它综合利用了 JSF 的服务器端功能与 Dojo 的功能强大的小部件,能让您轻松创建具有更好用户体验的 Web 应用程序。
【编辑推荐】