[JWF]Form Common button 执行生命周期

要很好的了解Form common button的执行过程,就得对一个动作所执行的全过程进行一次跟踪,必须了解每一个动作都干了什么。

一个Common Button是一个请求FormServer执行一个calculation操作。当一个用户点击了一个button,Web应用程序用调用ProcessHTTPRequest()去调用AdobeFormServer,然后AdobeFormServer执行calculation中的操作,生成并返回处理结果。
Adobe Form Server是安照以下步骤执行脚本的:

  • Click event for the named button.
  • OnCalculate event for all fields.
  • OnCalculate event for the page.

下面详细列出一般Web应用程序和FormServer执行客户端点击按键的执行过程:

  1. 客户端动作:点击一个按键。
    1. 如果设置成在客户端运行,程序就到些为止,代码会在客户的IE上执行,不会向下执行其它代码。
    2. 如果设置成服务器端运行,将继续执行下面的代码。
  2. 客户端动作:IE执行HTTP Post请求,发送它的目标URL,程序将执行GetForm()
  3. 应用程序动作:创建FormServer对象,并调用ProcessHTTP Request(...)方法,将数据发送到IIS的请求者。
  4. FormServer动作:打开XFT表单,如果先前已经将数据发送给FormServer,FormServer将用先前的数据填充模板。
  5. FormServer动作:FormServer将新数据填充到模板中,如果是多页表单,FormServer会将新数据填充到模板中可以使用的表单。
  6. FormServer动作:在XFA模板中执行Click脚本。
  7. FormServer动作:执行所有的OnCalculate()脚本。
  8. FormServer动作:向调用端返回处理结果流。
    1. 如果是IE,返回Xml
    2. 如果是Applet执行的GetForm(),返回的是Name/Value流
    3. 其它的,返回新的HTML页
    4. 返回的FSAction Code将被设置成 FSCalculate
  9. Application动作:核对FormServer返回的结果是不是Error。如果FSAction的结果是FSCalculate,将向IE输出一个HTML二进制流。
  10. 客户端动作:如果返回了一个完成的HTML页,IE将显示新的WEB页。同时智能的包括最新面数据并插入到HTML中而被显示。

说明:
客户端动作:客户端使用IE看到的表单,用户执行表单上的button命令。
应用程序动作:这里是指在FormServer上表单所提交的ASP程序中的命令。那些命令可以在ASP文件中找到。
FormServer动作:指的是FormServer所完成的动作与功能。它主要是通过ASP程序进行调用的。

了解这些动作的执行顺序对以后的开发很有用,所以将它整理出来,以备后用。


文章来源:http://ms.mblogger.cn/xuzhong/posts/16394.aspx

posted on 2005-07-04 17:08  徐中  阅读(491)  评论(0编辑  收藏  举报

导航