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

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

 2009-11-10 00:00:00 来源:WEB开发网   
核心提示: 清单 8. 提交请求以恢复表单数据functionsubmitRestoreRequest(){varrestoreTrigger=getFormElement("supportForm","restoreTrigger");restoreTrigger.


清单 8. 提交请求以恢复表单数据
function submitRestoreRequest() { 
  var restoreTrigger 
    = getFormElement("supportForm", "restoreTrigger"); 
  restoreTrigger.value = "restore"; 
  var supportForm = document.getElementById("supportForm"); 
  supportForm.submit(); 
} 

检验表单是否可恢复

使用 submitRestoreRequest() 发送到服务器的恢复请求将使用 POST 方法,因为这是所有 JSF 表单指定的 HTML 方法。要避免发生无限循环,只有在响应 GET 请求而生成当前页面时发送恢复请求。此外,存储库必须包含当前用户/表单组合的保存数据。isRestorable() 函数将检验这两个条件,它将对一个客户端 JavaScript 表达式求值,该表达式将包含两个在服务器端计算的 JSP/JSF EL 表达式的值(参见 清单 9):


清单 9. 验证是否可以发送恢复请求
function isRestorable() { 
  return "${pageContext.request.method}".toUpperCase() == "GET" 
    && <h:outputText value="#{viewRestorer.currentViewRestorable}"/>; 
} 

假设在发送 GET 请求后生成了页面,并且 ViewRestorer bean 的 isCurrentViewRestorable() 方法在服务器端返回了 true,生成的 JavaScript 函数的表达式的值为 true(参见 清单 10):


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

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

Tags:借助 Ajax 自动

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