JavaServer Faces Client 组件允许您创建响应速度更快的 Web 页面,并减少在浏览器与服务器之间的往返次数。Faces Client 组件使用一项称为客户端数据高速缓存的技术,它访问 Web 页面中的数据而不必访问服务器上的数据。结果是 Web 页面持续时间更长且响应速度更快。
例如,用户要浏览包含 100 个产品的目录。通过使用 Faces Client 组件,可以创建包含 100 个产品的 Web 页面和一次显示 10 个产品的表,该表称为数据网格。当第一次访问该页面时,该页面将包括全部 100 个产品的整个数据集;但是,只显示一个子集,即 10 个产品。当用户进入下一个 Web 页面时,“数据网格”将显示客户机高速缓存的数据中接下来的 10 个产品,而不必执行页面刷新或访问服务器。Faces Client 组件使用 JavaScript™ 功能来控制显示的数据。
对于图表和 Web Service 组件这两种 Faces Client 组件,它们是基于 JavaScript™、HTML 和 Macromedia Flash 的。不需要任何其他浏览器插件。四个 Faces Client 组件专门处理客户机数据:数据网格、数据树、图表和 Web Service。Faces Client 组件之间可以互相进行交互,因此可以将几个 Faces Client 组件放在同一个页面上并定义允许组件交互的事件。例如,帐户列表可以显示在链接至数据网格的树中。当用户使该树中的某个帐户突出显示时,数据网格将显示该帐户的交易。当用户选择另一帐户时,数据网格将显示与所选帐户的一组交易,而无需返回至服务器或重新装入该页面。
在大多数 Web 页面上,数据被合并到 HTML 控件中。当用户想要查看页面上未显示的数据时,浏览器会向服务器发送请求。服务器检索该数据,将它与 HTML 合并,并向浏览器发送新页面。借助 Faces Client Web 页面,数据是与控件分开维护的。数据组织在可以与控件绑定的形式模型中。数据将作为 JavaScript 对象存储在每个 Web 页面的顶部。此设计允许几个控件绑定至同一数据。用户可查看此数据的不同部分(例如,不同帐户)而无需往返于服务器。