探究Lotus Forms中的事件处理,第一部分: 表单对计算功能的支持

Lotus Forms 通过构建动态的电子表单,收集用户信息并将其传递给其他应用系统,以实现业务流程的管理。与纸质表单相比,电子表单的最大优势之一就是能够动态地响应用户活动。如,根据用户输入动态改变背景颜色,响应鼠标点击事件发送邮件或提交表单,等等。本文将通过若干实例,向您详细讲述 Lotus Forms 中对计算功能的支持。作为复杂事件处理的基础,计算功能允许设计者通过编程实现表单对用户活动的响应。

Lotus Forms 概述

Lotus Forms 提供了一种以电子表单的形式收集用户信息并将其传递给其他应用系统的方式。它可以作为业务流程的前端,例如申请保险索赔。当用户完成表单进行提交后,这些用户信息就会作为输入传输给业务流程、数据库,或者其他类型的应用系统。Lotus Forms 是一个产品家族,它包括三种产品:

Lotus Forms Designer :该产品是一个基于 Eclipse 的图形化设计工具,用于创建和编辑 XFDL 表单。

Lotus Forms Viewer :该产品帮助用户查看、填写和提交表单。Viewer 不但可以作为插件内嵌于浏览器中,也可以独立于浏览器作为单独的应用运行。

Lotus Forms Server :该产品包含四个组件,分别为

API –提供用于应用和扩展 Lotus Forms 功能的函数集合。

Deployment Server –通过 Applet 技术,帮助用户自动安装所需软件,如 Viewer。

Forms Services Platform –提供用于实现 Lotus Forms 与其他系统集成的函数库。

Webform Server –用于将 XFDL 表单文件翻译成 HTML/JavaScript 文档,使得用户可以在浏览器中填写和提交表单,而不需要其他软件支持。

本文主要涉及的产品是 Lotus Forms Designer 3,重点讨论在表单设计阶段如何为表单注入丰富的事件处理功能。整篇文章主要包含以下内容:第二部分对 Lotus Forms 表单所使用的描述语言(XFDL)进行简要的介绍,以便更好地理解本文所引用的示例表单代码;第三部分讨论 Lotus Forms 表单中对计算功能的支持,包括 Designer 工具的使用以及实现代码;最后一部分是结束语。在本系列的第二篇文章中 , 我们将讨论 Lotus Forms 中为表单设计提供的主要函数支持以及 Lotus Forms 表单中对事件和活动处理的支持。

表单定义语言–XFDL

在 Lotus Forms 中设计和处理的表单是使用扩展表单描述语言(XFDL)进行定义的。XFDL 使用可扩展标记语言(XML)提供一种为便于数字化存储和显示而定义数据字段和企业或政府复杂表单设计的标准方法 , 它将先前开发的全球表格定义语言(UFDL)和 XML 结合了起来。

在本小节中,我们将首先以一个实际的 XFDL 表单代码为例(如清单 1 所示),向您介绍 XFDL 表单的基本结构,让您对 XFDL 表单有个感性的认识。接下来,我们将把 XFDL 表单的组织结构抽象成数据模型,更加详细地向您介绍表单中的基本组成元素。

从一个简单的 XFDL 表单开始

清单 1. 一个简单的 XFDL 表单

0 < ?xml version="1.0" encoding="UTF-8"?>
1 <XFDL xmlns="http://www.ibm.com/xmlns/prod/XFDL/7.5"
2 xmlns:xfdl="http://www.ibm.com/xmlns/prod/XFDL/7.5"
3 xmlns:xforms="http://www.w3.org/2002/xforms">
4 <globalpage sid="global">
5 <global sid="global">
6 <xformsmodels>
7 <model xmlns="http://www.w3.org/2002/xforms">
8 <instance>
9 <data xmlns="">
10 <a>3</a>
11 <b></b>
12 </data>
13 </instance>
14 <bind nodeset=”b” calculate=”../a * ../a”/>
15 </model>
16 </xformsmodels>
17 <bgcolor>lightgrey</bgcolor>
18 </global>
19 </globalpage>
20 <page sid="PAGE1">
21 <global sid="global">
22 <label>Square Area Form</label>
23 <bgcolor>cornsilk</bgcolor>
24 <fontinfo>
25 <fontname>Times</fontname>
26 <size>24</size>
27 <effect>plain</effect>
28 </fontinfo>
29 </global>
30 <field sid="side">
31 <xforms:input ref="a">
32 <xforms:label>Length of square side :</xforms:label>
33 </xforms:input>
34 <labelfontinfo>
35 <fontname>Times</fontname>
36 <size>24</size>
37 <effect>bold</effect>
38 </labelfontinfo>
39   </field>
40 <field sid="area">
41 <xforms:input ref="b">
42 <xforms:label>Area of square:</xforms:label>
43 </xforms:input>
44 <labelfontinfo>
45 <fontname>Times</fontname>
46 <size>24</size>
47 <effect>bold</effect>
48 </labelfontinfo>
49 </field>
50  </page>
51 </XFDL>

时间: 2024-08-29 11:27:02

探究Lotus Forms中的事件处理,第一部分: 表单对计算功能的支持的相关文章

探究Lotus Forms中的事件处理,第二部分

XForm表单对函数和事件处理功能的支持 Lotus Forms 通过构建动态的电子表单,收集用户信息并将其传递给其他应用系统,以实现业务流程的管理.与纸质表单相比,XForm 电子表单的最大优势之一就是能够动态地响应用户活动.如,根据用户输入动态改变背景颜色,响应鼠标点击事件发送邮件或提交表单,等等.本文将通过若干实例,向您详细讲述 Lotus Forms 中的事件处理机制 , 包括 XForm 表单支持的主要事件.活动和函数.通过本文的讲述,您将能够灵活自如地使用 Lotus Forms D

Spread for Windows Forms快速入门(2)---设置Spread表单

让我们从设置Spread的大小和表单的外观开始学习如何定制Spread,这些操作通常放在Form的构造函数中进行,在InitializeComponent()之后调用.   自定义控件的大小 你可以设置Spread控件的规格,这决定了表单中可见的区域的大小.下面的图片中展示了你可以设置的规格,通过设置每一个规格中像素的数量进行设置.   计算Spread控件的高度时,假设滚动条是关闭状态,没有标题,计算所有行的高度以及每一个边界按1个像素计算,所以,如果现在有10行,每行20像素高度,总的高度为

jQuery实现弹出窗口中切换登录与注册表单

  本文给大家推荐的是一款jQuery实现弹出窗口中切换登录与注册表单的特效.适用浏览器:IE8+.FireFox.Chrome.Safari.Opera.十分的方便实用,有需要的小伙伴可以参考下. 当点击页面中的登录或注册按钮时,将会弹出一个模态窗口,就是一个弹出层,我们可以在弹出层上轻松的切换登录与注册表单,极大的方便用户,不需要关闭层再去点击转向其他操作,在很多网站上已经广泛应用. 本文结合实例,通过使用jQuery以及CSS3和HTML5技术实现这一效果. HTML 我们现在主页面上设置

跳转路径-急求解决,jsp页面中循环生成的form表单,action路径错误

问题描述 急求解决,jsp页面中循环生成的form表单,action路径错误 在jsp页面中用循环生成的form表单,为什么action不是想要的呢,代码贴在下面了 reply=(Map)request.getAttribute("REPLY"); while(rsComment.next()) { // 评论编号 String CId = rsComment.getString("CId"); // 评论人 String name=rsComment.getStr

jsp标签-Jsp中EL表达式可以放在表单的name属性里吗?

问题描述 Jsp中EL表达式可以放在表单的name属性里吗? Jsp中EL表达式可以放在表单的name属性里吗? 例如: <input name=""${question.id}"" /> 目的是为了根据id取得question对应answer,求大神帮忙 解决方案 那你弄个隐藏域就可以了,, 解决方案二: 是可以这样放的,,, 解决方案三: 我没试过,应该是可以的

jsp中提交到Servlet的表单获取的值为什么都为NULL?

问题描述 jsp中提交到Servlet的表单获取的值为什么都为NULL? ------------------addProduct.jsp--------------- <form action="${pageContext.request.contextPath}/servlet/ManagerServlet?operation=addProduct" method="post""> <table width="80%&quo

利用JS屏蔽页面中的Enter按键提交表单的方法_javascript技巧

如在设置了JS代码响应<p>标签的Enter按键触发事件时,根据冒泡型事件原则该事件会一直传到<from>表单处,并将表单提交.这不是我们想要的效果,我们可以设置如下代码来加以屏蔽: $(document).keydown(function(event){ switch(event.keyCode){ case 13:return false; } }); 但是,如果页面中有按钮时在Opera浏览器中同样会提交表单,这是因为按钮在生成的HTML代码中是submit类型的,解决办法是

NOTES邮件模板中用于转发邮件的表单是哪个?

问题描述 NOTES邮件模板中用于转发邮件的表单是哪个?想在邮件模板中控制转发的邮件的大小.由于Domino是4.6的,所以不能通过服务器来控制,而是想通过模板来控制?用于邮件转发的表单是哪个,有人知道吗? 解决方案 解决方案二:不是Memo吗解决方案三:forward

Winform开发框架中工作流模块的业务表单开发

在我们开发工作流的时候,往往需要设计到具体业务表单信息的编辑,有些是采用动态编辑的,有些则是在开发过程中处理的,各有各的优点,动态编辑的则方便维护各种各样的表单,但是数据的绑定及处理则比较麻烦,而自定义开发的,则数据弹性很大,方便修改调整.本篇随笔基于表单的开发设计过程,介绍在工作流中如何新增一个业务表单,以便快速的实现审批业务的上线处理. 1.业务表单的基类继承 首先我们来了解一下业务表单的对应关系,一般创建一个业务流程处理,都需要有一个具体的创建业务表单的界面,以及一个查看处理表单的界面.