zoukankan      html  css  js  c++  java
  • [JWF]Special Buttons 执行生命周期

    特殊的Button

    一个特殊用途的Button同样是请求AdobeFormServer执行一个特殊的动作。

    特定的Button有:

    • FSSUBMIT_
    • FSPRINT_
    • FSSIGN_[name of signature object]
    • FSVERIFY_[name of signature object]
    • FSPREVIOUS_
    • FSNEXT_
    • FSRESET_

    FSSUBMIT_ button

    当用户点击FSSUBMIT_按键时,Web应用程序被请求,将表单上的数据发送给Adobe Form Server,并且允许Adobe Form Server执行当前表单上的脚本,执行脚本有

    • Click event for the FSSUBMIT_ button
    • OnCalculate event for all fields
    • OnCalculate event for the page
    • OnValidate event for all fields , including checks for mandatory fields
    • OnValidate event for the page , provided that all field validations were successful
    • OnFormClosing event , provided than the validations were successful

    当FSSUBMIT_ button被点击后,这个表单上的所有其它处理被终止,除非:

    • 应用程序发现有其它的动作需要提前执行
    • 有验证错误产生时

    下表显示动作的执行过程

    step User/Client actions (HTML) Application Actions (ASP) Adobe Form server actions (Object)
    1 点击了名为FSSUBMIT_的按键   执行客户端脚本
    2 浏览器向TargetURL发送HTTP Post请求    
    3   创建FormServer object,调用ProcessHTTPRequest()方法,发送IIS请求(发送的内容包括客户端上的数据)  
    4     打开XFT表单,如果先前已经将表单数据通过ProcessHTTPRequest方法发送给了Adobe Form Server,Adobe Form server将重新保存前面的代码数据,数据保存到模板中。
    5     将新的数据填充到表单模板中,对于多页表单,Server会分清应该填充哪个表单的。
    6     执行XFA模板中的点击脚本
    7     运行实例表单中所有的OnCalculate()脚本
    8     运行实例表单中的所有OnValidate()脚本。
    每一个表单中的组件都会经过验证。Form Server不会发现一个错误后就停止,而是全部进行验证,然后将出错的组件用都显示出来。
    9a 终端用户显示一个网页,网页内容有表单的全部组件内容及出错的组件列表。 判断Adobe From Server返回的FSAction代码,如果是FSValidate那么就继续执行后面的用户操作。
    向客户端浏览器执行BinaryWrite,将HTML写到客户端IE中。
    如果验证过程出错,显示至少一个错误,Form Server返回一个新的HTML网页,内容有:
       当前填写的数据表单
       一个框,里面记录了表单中的错误

    返回FSAction代码为FSValidate
    9b     如果没有错误,Adobe Form Server执行:
    1.执行OnFormClosing()脚本
    2.生成XML数据
    3.转换数据成UTF-8格式
    4.返回给调用的应用程序

    返回FSAction代码为FSSubmit
    10   确认Adobe Form Server返回的FSAction为FSSubmit

    确认表单已经处理完了FSSIGN_BUTTON ,Server返回了XML数据

    执行其它符加的处理
     
    11 根据Web应用程序的类型显示相应的结果    

    文章来源:http://ms.mblogger.cn/xuzhong/posts/16442.aspx
  • 相关阅读:
    如何只通过Sandboxed Solution启动一个定时执行的操作
    创建与SharePoint 2010风格一致的下拉菜单 (续) 整合Feature Custom Action框架
    创建与SharePoint 2010风格一致的下拉菜单
    《SharePoint 2010 应用程序开发指南》第二章预览
    SharePoint 2013 App 开发 (1) 什么是SharePoint App?
    使用Jscex增强SharePoint 2010 JavaScript Client Object Model (JSOM)
    搜索范围的管理
    SharePoint 2010 服务应用程序(Service Application)架构(1)
    SharePoint 2010 服务应用程序(Service Application)架构(2)
    SharePoint 2013 App 开发 (2) 建立开发环境
  • 原文地址:https://www.cnblogs.com/xuzhong/p/232233.html
Copyright © 2011-2022 走看看