【IT168技术文档】简介
本系列的第 1 部分 中描述了这样一个场景:其中,应用程序在服务器上自动保存表单数据,在用户关闭或重新打开浏览器后,表单可以恢复。这个解决方案即使在用户浏览器失效或用户没有在 Web 表单上单击 Submit 就离开应用程序之后也可以很好地工作。
本文所附的示例应用程序(请参见 下载)包含了一个名为 SupportForm.jsp 的典型 JSF 表单,此表单的数据通过 AutoSaveScript.js 文件的 JavaScript 函数定期提交给服务器。SupportForm.jsp 和 AutoSaveScript.js 均在本系列 第 1 部分 做过介绍,该部分还展示了如何使用 JSF 阶段侦听器在不干扰应用程序逻辑的前提下处理 Ajax 请求。
在本文中,您将学习如何构建线程安全的数据存储库来自动保存表单数据。您将看到如何选择数据结构、如何用用 JSF 组件树提取出的表单数据填充这些结构、如何恢复 JSF 组件的状态、如何限制数据存储库的内存资源以及如何实现其持久性。您还会了解到几个 Web 技巧,例如如何使用过滤器和浏览器 ID cookies。