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

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

 2009-11-10 00:00:00 来源:WEB开发网   
核心提示: 如果使用 submitRestoreRequest() 发送恢复请求或者用户单击 Submit 按钮,服务器将收到一个 POST 请求并且 isRestorable() 将返回 false,借助 Ajax 自动保存 JSF 表单: 第 3 部分:保存 JSF 表单中的用户输入(8),如 清单 1

如果使用 submitRestoreRequest() 发送恢复请求或者用户单击 Submit 按钮,服务器将收到一个 POST 请求并且 isRestorable() 将返回 false,如 清单 11所示:


清单 11. 发出 GET 请求后生成的 JavaScript 代码
function isRestorable() { 
  return "POST".toUpperCase() == "GET" 
    && true; 
} 

了解如何处理恢复请求

本节将解释 immediate 属性的作用以及如何使用示例应用程序的 ViewRestorer 类的 restoreCurrentView() 方法的 renderResponse() 调用。

使用 JSF 组件的 immediate 属性

前面一节中使用的 <h:inputHidden> 组件将其 immediate 属性设置为 true,因此可以在 JSF 请求处理生命周期的早期调用侦听器方法。更准确地说,调用将发生在 Apply Request Values 阶段。也可针对一些命令按钮将 immediate 属性设为 true,这些命令按钮的操作方法应该在 Apply Request Values 阶段调用而不是等到 Invoke Application 阶段调用。如果需要向 JSF 表单添加一个 Restore 按钮,您可以使用一个 <h:commandButton> 标记,其 immediate 属性为 true(请参见 清单 12):


清单 12. 恢复表单数据的命令按钮
<h:form id="supportForm"> 
  ... 
  <h:commandButton id="restoreButton" value="Restore" 
      actionListener="#{viewRestorer.actionListener}" 
      immediate="true"/> 
  ... 
</h:form> 

最后,将在 Apply Request Values 阶段调用 ViewRestorer bean 的 valueChangeListener() 和 actionListener() 方法,因为 SupportForm.jsp 页面的 restoreTrigger 和 restoreButton 组件将 immediate 属性设置为 true。

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

Tags:借助 Ajax 自动

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