WEB开发网
开发学院软件开发Java 借助 Ajax 自动保存 JSF 表单: 第 3 部分:保存 J... 阅读

借助 Ajax 自动保存 JSF 表单: 第 3 部分:保存 JSF 表单中的用户输入

 2009-11-10 00:00:00 来源:WEB开发网   
核心提示: 清单 5. 配置视图恢复程序<faces-config>...<managed-bean><managed-bean-name>viewRestorer</managed-bean-name><managed-bean-class>au


清单 5. 配置视图恢复程序
<faces-config> 
  ... 
  <managed-bean> 
    <managed-bean-name>viewRestorer</managed-bean-name> 
    <managed-bean-class>autosave.ViewRestorer</managed-bean-class> 
    <managed-bean-scope>request</managed-bean-scope> 
  </managed-bean> 
  ... 
</faces-config> 

发送恢复请求

SupportForm.jsp 页面使用 AutoSaveScript.js 文件的 setAutoSaving() 函数激活表单自动保存功能,该文件在 第 1 部分 中提到过。本节将演示如何修改 JSF 页面从而保存当前视图的数据。

对恢复请求使用隐藏的触发器

对 ViewRestorer bean 的 valueChangeListener() 方法触发 ValueChangeEvent 的最简单的方法就是向 SupportForm.jsp 页面添加一个隐藏的元素。清单 6 演示了必须添加到 JSF 页面的代码:


清单 6. 对恢复请求使用隐藏的触发器
<h:form id="supportForm"> 
  <h:inputHidden id="restoreTrigger" value="default" 
      valueChangeListener="#{viewRestorer.valueChangeListener}" 
      immediate="true"/> 
  ... 
</h:form> 

您可能想知道我们为什么使用隐藏的组件触发表单恢复。为什么不在呈现时直接恢复表单?要理解这些问题的答案,您必须了解 JSF 框架构建组件树的方式,这些组件树的值必须进行恢复。请记住,用户曾经离开了应用程序(或者浏览器崩溃),现在用户使用一个 GET 请求返回到表单页面。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:借助 Ajax 自动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接