中文Lotus_Domino_R5_Web高级编程(一).pdf

上传人:asd****56 文档编号:70321809 上传时间:2023-01-19 格式:PDF 页数:53 大小:3.89MB
返回 下载 相关 举报
中文Lotus_Domino_R5_Web高级编程(一).pdf_第1页
第1页 / 共53页
中文Lotus_Domino_R5_Web高级编程(一).pdf_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《中文Lotus_Domino_R5_Web高级编程(一).pdf》由会员分享,可在线阅读,更多相关《中文Lotus_Domino_R5_Web高级编程(一).pdf(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、下载第1章Domino Web开发综述1.1 为什么使用D o m i n o如果你曾经使用其他开发工具去开发过 We b应用程序,你可能不会感到使用D o m i n o的极端迫切性,与其他工具相比在各方面它都显得不大相同。其他公司包括 N e t s c a p e和O r a c l e也提供We b开发工具,为什么我们非要选择D o m i n o作为我们的We b开发工具呢?首先,如果你的公司已经在使用 Lotus Notes,你确实应该考虑使用D o m i n o。最明显的原因是D o m i n o已经捆绑了We b服务器,所以你不必因此而花费更多的经费,但这与你将节省的工作量

2、相比实在是太微不足道了。由于 D o m i n o开发是N o t e s开发的扩展,所以大部分 N o t e s开发者可以轻松地过渡到 Domino We b开发工作中来,D o m i n o还提供了一种特殊的功能使某些类型的程序开发变得轻松愉快。D o m i n o与N o t e s的特长相同。N o t e s擅长于包括工作流、知识管理、大量的 RT F文本的领域。而对于大数据量或事务驱动则不是其擅长的领域。例如,你不可能使用 N o t e s去开发一个每天接受一百万条记录的进销存系统。但是你若想开发一个从用户中收集技术性问题,将它们交到技术人员手中得到解答并送到专家手中认可

3、,然后将问题集汇编成册并在 We b上发布,那么你的首选开发工具无疑就是D o m i n o。在任何组织系统中,都必将会有一些使用 D o m i n o非常理想而使用其他工具却几乎不能完成的任务。但是,千万不要误以为使用 D o m i n o可以做任何事情,这只会导致失望。你只能使用D o m i n o去完成一些它设计范围内的功能,而用其他工具去完成开发用户超过近百万的实时交易系统。当然,通过D o m i n o中的A P I函数,你可以方便地与其他应用程序进行通信。1.2 Domino是怎样运行的如果你是一名资深的 We b程序开发员,比如说,习惯于使用的开发工具是 O r a c

4、 l e数据库,开始时无疑你将发现D o m i n o是比较怪异的。与O r a c l e数据库不同,Domino 数据库中不存在一个不可见的与用户界面完全分离的“后台”。D o m i n o的应用程序就是数据库,反之亦然。这种方式有其优点也有其缺点,在下面各章中你将会更深切地体会到。1.2.1 Domino与传统数据库的区别D o m i n o的数据库是一个集数据与设计元素于一身的集合体。数据存储在文档中。文档的界面是表单,一个设计元素。你可以把文档与表单非常粗略地类比为数据库的行与表。但这种比喻并不恰当,比如我们可以在文档中添加一个在过去创建的表单中并不存在的域,而且,你可以使用不

5、同的表单去显示同一个给定的文档。在D o m i n o中文档可以通过视图来显示。一个视图是满足某种规则(比如P r i o r i t y=H i g h )的文档的集合,视图的每一行既可能代表一个文档又可能代表一个分类,不同的列显示文档内容的不同信息。列中既可能显示某一个域的值也可能显示某个公式的结果,比如P r i c e*Q u a n t i t y。打开一个视图与执行一条 S Q L语句相似,只不过在视图中双击某一行可以打开相关文档。N o t e s不是一个关系型数据库。例如,你不可能设计一个能够在一行中显示不同文档内容的视图。但是,你可以设计一个能够反映主文档和子文档关系的视图

6、。在表单中,你可以创建一些有限的关系,例如,你可以通过创建一个优先域使视图按照该域的值列表。文档总是存在于编辑模式或只读模式下。在编辑模式下,文档的可编辑域就像表单中的域。在只读模式下,这些域的内容以静态文本的形式出现。1.2.2 Domino 和We b在某种典型的We b应用程序中,用户使用浏览器指向 H T M L主页的U R L并通过嵌入其中的指令从数据库中获取数据库中的数据内容,此时,数据库是一个完全分离的部分。而在D o m i n o的We b应用程序中,用户使用浏览器直接指向存储在数据库中的数据内容本身的 U R L。例如,你可以通过如下方式打开S p o r t s数据库中的

7、Ti c k e t s表单:h t t p:/s e r v e r/S p o r t s.n s f/Ti c k e t s?O p e n F o r m也可以使用如下U R L打开H o c k e y视图中的Wayne Gretsky文档:h t t p:/s e r v e r/S p o r t s.n s f/H o c k e y/G r e t s k y?O p e n D o c u m e n tDomino We b服务器就会取出你需要的资源并将其转化为 H T M L形式,然后再发往用户。当D o m i n o使用某个表单时,他会自动激活该表单,就像激活下面

8、的 U R L一样:h t t p:/s e r v e r/S p o r t s.n s f/1 2 3 a 3 2 1 e 2 3 4 d 4 3 2 a 1 2 3 a 3 2 1 e 2 3 4 d 4 3 2 a?C r e a t e D o c u m e n t表单中的数据通过邮件方式由 D o m i n o服务器自动传递。最典型的应用是在一个数据库中通过某表单创建新文档,如果这个表单中存在计算域、触发代理(如调用一个 We b Q u e r y S a v e代理)或使用其他D o m i n o特性时文档中的数据可能会被改变或增加。所有的D o m i n o设计元素

9、以及文档都有自己的特定的 I D号,当需要自动生成某些 U R L时,D o m i n o就使用这些特定的I D号来代表该元素。但在上面 U R L中的表单的特定I D号显然太长且太丑陋了,因此你可以使用更有意义的名字如:h t t p:/s e r v e r/S p o r t s.n s f/Ti c k e t s?C r e a t e D o c u m e n tDomino URL还可以完成数据库搜索、文档文件下载、打开“页面”、打开“导航器”及其他设计元素等功能。在附录中我们提供了一个关于 Domino URL的详细描述。1.3 开发部件表单和视图是D o m i n o数

10、据库开发的最重要的设计元素。但 D o m i n o数据库开发不仅仅使用这两个元素,其他元素包括:1)导航器。“导航器”在We b开发中实在有点用词不当,容易让人想到“N e t s c a p e”公司的浏览器。在Domino We b应用程序中,导航器是一种图形。Domino 的设计端提供了可视化2计计中文Lotus Domino R5 Web高级编程下载工具使图形的创建非常简单。2)页面。页面是一种区别于表单与文档之外的新的设计元素,是在 Domino R5中新增的设计组件。在页面中用户既不必填写数据,也不能得到数据。3)大纲。大纲是在Domino R5中新增的设计组件,大纲就像你的站

11、点的映射。你可以根据你的习惯以不同的方式显示你的大纲。4)嵌套元素。你可以在页面或表单中嵌套视图、j a v a小程序、导航器等其他页面与表单中的元素。5)代理。代理是存储在数据库中的s c r i p t小程序或其他程序。代理在D o m i n o应用程序中可以完成多种任务。其中一个典型的应用是完成当表单被发送时的响应。D o m i n o代理可以使用L o t u s S c r i p,J a v a或者Notes 公式语言编写。6)计算域。D o m i n o表单可以包含计算域。当文档每次被保存时计算域中的值会被自动更新。7)简要表文档。简要表文档中包括全局变量和一些特殊的用户信

12、息,D o m i n o可以非常方便地存取简要表文档中的数据。8)帧结构。帧结构的概念是从 Notes 4.5开始提出的,但是Domino R5使创建帧结构变得更容易。Domino R5提供了一种新的方式使我们可以用可视化工具创建帧结构。9)JavaScript。J a v a S c r i p t一直是D o m i n o的开发组件之一,但在 Domino R5中可以更为简单地编写J a v a S c r i p t程序,同时,N o t e s客户端也支持J a v a S c r i p t程序。10)CORBA/IIOP。Domino R5支持C O R B A/I I O P

13、并提供增强的J a v a类库集使我们可以远程访问D o m i n o后台对象。你可以使用 J a v a自己的界面去创建J a v a程序,而不是必须使用 D o m i n o设计端提供的工具。11)Domino Enterprise Connection Services(DECS)。在R 5中的新特性,可以完成与关系型数据库的某些实时的集成,如 D B 2,O r a c l e,S y b a s e等。在开发过程中你可以把表单和域映射为关系型数据库中的表和列,这样一来打开或存储文档的事件,将转换到服务器端并被变为数据库请求。通过这种方式,存储在 N o t e s中的数据实际上被

14、存储到某关系型数据库上。到目前为止,D E C S仍在快速发展当中,我们还不能对其进行客观的评价,如果事实证明 D E C S确实有非常出色的表现的话,N o t e s实在是如虎添翼了:既有快速开发应用程序的优势,又能享受到关系型数据库的可行性。12)安全性。D o m i n o的安全性,与其复制功能一起,一直被认为是 D o m i n o产品中的最大特点。D o m i n o提供了大量的方式去控制对数据库、文档和其他元素的访问。你可以对用户、群组(由共用通信录定义)、角色(由数据库的 A C L定义且被赋予群组与用户)授权。D o m i n o还支持S S L验证及其他一些服务器安

15、全设置。在将来的Domino 5.x版本中,D o m i n o中将提供C O M界面,以使你可以开发A S P脚本来操纵D o m i n o后台对象。这必将使We b程序更加美妙。1.4 其他工具1.Sametime第1章 Domino Web开发综述计计3下载在1 9 9 8年5月,L o t u s公司收购了U b i q u e和D a t a b e a m两家在实时通信与协作领域处于领导地位的公司,然后立即开始把它们的技术与 D o m i n o进行集成,由此产生了S a m e t i m e家族的产品。在把D o m i n o与S a m e t i m e服务器结合以

16、后,你可以通过 N o t e s客户端或其他浏览器为用户提供网上聊天、可视会议、即时通信、白板协作等其他新型服务。在 S a m e t i m e中的一个令人感兴趣的新概念是“Document-based awareness”,也就是说用户可以看到目前某个文档使用者名称。2.C和C+API你可以使用 C和C+的A P I s函数去访问 N o t e s后台的对象。这些 A P I函数可以从h t t p:/w w w.l o t u s-d e v e l o p e r.c o m上下载,它们拥有远远超过 J a v a、L o t u s S c r i p t和N o t e s公

17、式语言的功能。例如,你可以使用 C API去创建一个服务器任务(H T T P服务就是一个服务器任务),或者通过其扩展的管理特性对某些事件进行反应。C API还对R F T文本的控制提供了比其他工具更多的选择。你还可以使用其他应用程序或数据库中的 C API函数。3.Visual BasicLotus Notes是O L E服务器,即支持特定的用Visual Basic,C或其他支持 OLE 的工具开发的O L E客户应用程序。由于Visual Basic与L o t u s S c r i p t非常相似,因此创建OLE 对象的首选语言是Visual Basic。在Visual Basic中

18、可用的类或方法在 L o t u s S c r i p t中一定可以使用。但对于Domino We b开发来说这个结论不成立。4.JDBC和O D B C驱动程序我们可以从h t t p:/w w w.l o t u s-d e v e l o p e r.c o m上下载J D B C和O D B C驱动程序,外部应用程序可以通过这些驱动程序对 N o t e s数据库进行S Q L查询。但是,千万注意,这些驱动程序的功能是非常有限的。在你的应用程序中使用这些驱动程序之前一定要仔细阅读附带的文档资料。5.NetObjects FusionNetObjects Fusion是I B M的合作

19、伙伴N e t O b j e c t s公司(h t t p:/w w w.n e t o b j e c t s.c o m)的优秀产品,可以在既不需编程经验又不需艺术感觉的情况下创建和维护网络站点。它提供了一个图形化界面去设计每一个主页和整个站点。图 1-1显示了在NetObjects Fusion 3.0一个简单的网站图。如果你要对某个We b页进行设计,你只需要轻轻点击在网站图上相应的页面。对我们中那些不太具备艺术细胞的人来说,NetObjects Fusion提供了一些流行的图形和风格以使我们的网站看起来具有前后一致的风格。一个特别有用的功能是导航条,使用工具条我们可以轻松生成自己

20、的导航条,在导航条中自动生成一些对应不同页面的按钮。图 1-2显示了使用S m i l e风格创建的导航条,当导航条风格改变时,其按钮风格会发生改变,但其内容保持不变。仔细观察你会发现,导航条上表示放置导航条的当前页的按钮与表示其他页的按钮有一些不同,如果用手工创建按钮那么每增加一个页面就会导致大量的更新工作,而NetObjects Fusion省略了这些重复性工作。即使对于专业We b设计人员来说,NetObjects Fusion可以省却很多测试和升级 We b主页的烦恼。它可以自己处理一些U R L映射的细节性问题,当你在本地完成设计任务时,N e t O b j e c t sF u

21、s i o n通过F T P协议将文件传到服务器上,你在本地创建和测试成功的 We b主页上传到服务器不会出现问题。4计计中文Lotus Domino R5 Web高级编程下载图1-1 用NetObjects Fusion3.0设计一个简单的网站图图1-2 使用NetObjects Fusion轻松创建导航条第1章 Domino Web开发综述计计5下载你可能要说,“尽管听起来不错,但在关于 D o m i n o的书中为什么要讲述关于 N e t O b j e c t sF u s i o n的内容呢?”我们真正要了解的是 NetObjects Fusion可以被用来创建 D o m i

22、n o网站。为了使N e t O b j e c t sF u s i o n与D o m i n o正常通信,你必须安装 Domino-NetObjects Fusion Connector(DFConnector)。D F C o n n e c t o r由两部分组成,一部分被安装于 D o m i n o服务器端,另一部分被安装于 N e t O b j e c t sF u s i o n客户端。客户端在 NetObjects Fusion中增加一些特殊的D o m i n o组件,比如一个视图列表配件。一旦你创建了一个站点并将其上传到 D o m i n o服务器上时,NetObj

23、ects Fusion把文件传到D o m i n o服务器上,然后 D o m i n o服务器端的D F C o n n e c t o r接受到这些文件并将之转换为D o m i n o数据库形式(见图1-3)。图1-3 DFC把NetObjects Fusion文件转换为D o m i n o数据库图1-4是一个在NetObjects Fusion中创建的主页。这个主页包括与其他主页的连接和一个“g u e s t b o o k”表单,使用NetObjects Fusion GUI可以使你非常容易地设计对象的大小与位置,而且其设计的视图与使用浏览器时的视图基本一致。图1-4 NetO

24、bjects Fusion GUI使得在We b页面中定位和调整元素简单容易6计计中文Lotus Domino R5 Web高级编程下载NetObjects Fusion客中FTPDFC 服务器任务Domino服务器Domino数据库NetObjects F u s i o n文件图1-5显示同一个站点被转换为 D o m i n o数据库时的情况。每个We b页面被转换为文档而且根据原文件名进行索引。由于原文件名已经被保存,NetObjects Fusion和D o m i n o可以使用相同的U R L。图1-5 每个站点元素转换为视图中的一个文档,且其关键字与原来的文件名相同同样,所有的

25、图像文件被存为文档的附属文件,而且也同样根据原文件名进行索引。这样一来原来的内嵌图像文件被转换为 D o m i n o附属U R L。比如,原来的l o g o.g i f转换为:/d a t a b a s e/v i e w/l o g o.g i f/$F i l e/l o g o.g i f为了创建一个D o m i n o表单,比如在本例中的g u e s t b o o k表单,你通过NetObjects Fusion图形化界面只需简单地将某些域或其他元素拖到指定位置并且不设置“a c t i o n”属性。D F C o n n e c t o r自动将其转换为两部分:一个D

26、 o m i n o表单和一个包含由NetObjects Fusion生成的H T M L的文档。浏览器用户实际看到的是文档部分,在其中包括一个标签,其A C T I O N属性指向一个Domino CreateDocument URL。当用户提交表单时,D o m i n o指向表单的后期处理信息,例如域的有效性公式或相应的文本。图1-6显示了当使用 N e t s c a p e浏览已经被转换为数据库以后的同一个主页,与原来由NetObjects Fusion创建的静态H T M L文件无大的外观变化。但是,或许你正在怀疑是否有把由NetObjects Fusion创建的静态H T M L

27、文件转换为D o m i n o数据库文件的必要。我们的首要原因是出于安全性的目的。转换为D o m i n o数据库文件以后我们就可以利用D o m i n o数据库的安全功能控制对数据库内的H T M L主页、图表、小程序的访问。同时D o m i n o还提供了诸如J a v a程序设计、视图、Q u e r y S a v e代理、与Lotus Notes客户端的整合等功能组件。在使用NetObjects Fusion设计你的站点以后,你可以为其定制一些特别的D o m i n o功能。第1章 Domino Web开发综述计计7下载图1-6 这个主页的D o m i n o版本与原来几

28、乎没有差别令我们感到幸运的是由 NetObjects Fusion创建的静态H T M L文件转换为D o m i n o数据库文件不会导致我们的数据库变得复杂或不可理解。如果你曾使用过 Domino Action设计D o m i n o站点并自定义某些功能,你就会了解到使用其他开发工具进行 Domino We b页面的开发将使维护工作异常困难。然而使用 D F C o n n e c t o r生成的D o m i n o数据库对于对D o m i n o的We b开发较为熟悉的人来说相对简单的多。NetObjects Fusion和D o m i n o联合开发当然也有其缺点。无论如何,

29、使用两种不同的开发工具开发一个应用程序都会或多或少地失去这个或那个工具的某些特性。同样地,使用NetObjects Fusion开发的D o m i n o数据库也不能使用某些D o m i n o组件,如计算域。而且,理所当然地,我们常会面对一两点不能满足原来设想的功能的地方。但是,毕竟更多的时候我们发现在界面设计上NetObjects Fusion会给予我们很大的帮助,然后使用其他的开发工具或开发技术改进我们的D o m i n o数据库。最后,在 D F C o n n e c t o r的客户端,D o m i n o组件(场所、视图等)都被转换为只有D F C o n n e c t

30、 o r才能识别的特殊的H T M L标识符。如果你对这类标识符很熟悉,可以将这类标识符插入由其他开发工具生成的H T M L文件。然后通过将这类 H T M L文件用 F T P协议传到D o m i n o服务器上就可以把你的H T M L文件转换为D o m i n o数据库。6.IBM的J a v a开发工具Visual Age尽管我曾是I B M的雇员,本着举贤不避亲的原则我仍然把它们的产品 Visual Age包含在书8计计中文Lotus Domino R5 Web高级编程下载中!因为为了充分发挥 D o m i n o中的某些新的可使用 J a v a编程的组件的优势,我们必须介

31、绍一种比较流行的J a v a编辑器。现在可供我们选择的除了 I B M的Visual Age以外,还包括广受好评的S y m a n t e c公司的Visual Cafe以及微软公司的销路极好的Visual J+(如果你想得到关于这些产品的简单比较,请访问主页h t t p:/w w w.s y m a n t e c.c o m/v c a f e/v c m s 0 7 0 1.h t m l)。由于我从未使用过S y m a n t e c公司的Visual Cafe以及微软公司的Visual J+,因此不能把它们与Visual Age进行比较(即使我有比较的能力,但立场也会被怀疑)

32、。只是说根据我的经验,I B M的Visual Age相当不错,在1 9 9 8年1 0月的Web Te c h n i q u e s杂志上获得了相当高的评价。它包括可视化的用户界面生成工具(见图 1-7)、数据库连接工具、编译器、调试器等。我认为它是一个功能强大,使用简单的优秀开发工具。图1-7 如果你要做大量的J a v a编程工作,我推荐你使用更好的编辑器,例如I B M公司的Visual Age for Java想了解更多关于Visual Age的内容请访问h t t p:/w w w.i b m.c o m/j a v a。7.Domino.Action,Domino.Doc等D

33、o m i n o.A c t i o n是一组模板的集合,可以使你在不熟悉 D o m i n o开发的时候就可以创建一些基本的应用程序。它使用一个 S i t e C r e a t o r数据库帮助你选择你将要创建的数据库的各方面配置信息,然后根据你的选择定制一个 We b数据库。使用D o m i n o.A c t i o n创建数据库的优点是简单快捷。你能在很少几分钟时间内创建和运行几个漂亮的D o m i n o应用程序而不必写任何 s c r i p t或H T M L语句。如果你并不需要大型 D o m i n o开发,而只是需要几个标准的We b应用程序,那么D o m i

34、 n o.A c t i o n是一个很好的选择。第1章 Domino Web开发综述计计9下载另一方面,如果你的需求是一个复杂的企业级应用开发,或者需求在不断变化,那么最好自己建立你的应用程序。由于 D o m i n o.A c t i o n总是使用本质相同的设计方式去设计数据库,尽管非常灵活,但复杂性相应增加(有时已经到了不可理解的地步),它使用大量的间接的多层次的Sc r i p t语句产生灵活的表单设计。也就是说,在产生数据库之前你要完全决定数据库的设计元素,而不必在以后改进过程中花费时间。因此,你很难根据用户要求进行定制。经验丰富的D o m i n o开发者大概更喜欢使用自己开

35、发的应用程序,偶尔“偷”一点 D o m i n o.A c t i o n中的设计元素或创意。D o m i n o.A c t i o n有几个为特殊用途使用的分支产品,包括:Domino.Doc 一个文件管理软件包,可以自动完成文件管理的整个过程,从写作到检查、然后到批阅、分发、存档。Domino.Merchant 生成电子商务的具体应用,包括在线定购、税收计算、运费计算等各方面内容。8.DSAPIDomino Server Application Programmin Interface(DSAPI)是用C语言编写的A P I函数集,可以编写你自己的Domino We b服务器扩展应用

36、。你的 D S A P I扩展程序,将被特别的服务器事件触发,比如验证用户身份,或者返回一个答复时,可以使用 D S A P I扩展程序定制验证过程或改变答复的H T T P文件的报文头,或者当其他事件发生时做一些别的变化。9.其他L o t u s产品或附加软件L o t u s公司一直在不停地推出一些新的产品及其附件来不断扩展 D o m i n o功能。例如,传真服务器、页面服务器、移植向导、扩展搜索引擎等等。详细情况请访问L o t u s公司站点(h t t p;/w w w.l o t u s.c o m)。10.第三方软件L o t u s公司有数百个商业伙伴,其中有些公司利用

37、D o m i n o开发了很有价值的协同工作解决方案。1.5 简单的Domino We b软件例子Navigator3.04 Navigator4.05 Domino4.6.1 Explorer3.0 Explorer4.01 Domino5.0 “Very Simple”数据库(Ve r y S i m p l e.n s f)存储书类信息,如:书名、作者、I S B N(国际标准图书编号)、价格等。在把这个数据库拷贝到你的服务器的数据目录下的 R M K e l l e h e r子目录中后,你可以使用浏览器按下面的 U R L打开:h t t p:/y o u r-s e r v e

38、r/R M K e l l e h e r/Ve r y S i m p l e.n s f?O p e n D a t a b a s eh t t p:/y o u r-s e r v e r/R M K e l l e h e r/Ve r y S i m p l e.n s f?图1-8是当你打开数据库显示出来的 D o m i n o产生的普通页面。尽管我们并没有添加任何修饰,但你完全可以在这个数据库中做这样的工作。打开数据库属性并转换到启动附件,在“打开数据库时”中选择“回到用户上次查看的视图”,在“在浏览器打开时”选择“使用N o t e s启动选项”。由于We b服务器不能保持

39、上次用户查看的视图的记录,因此事实上它并不能复制N o t e s功能,而只是列出一个普通的视图的列表。10计计中文Lotus Domino R5 Web高级编程下载图1-8 默认情况下,当你在We b浏览器中打开一个数据库时,D o m i n o产生一个视图的列表你可以试着点击某个连接来打开相应的视图。图 1-9是“Books by ISBN”的视图。这个视图列出了书名,或者更精确一点,按照 I S B N排序的书目文档。在默认情况下,视图的第一行与相应的书目文档的U R L连接。图1-9 默认情况下,D o m i n o把视图转换为H T M L时产生5个标准连接:上一页,下一页,展开

40、,折叠,搜索第1章 Domino Web开发综述计计11下载若要了解视图的创建过程,请在 Domino Designer下打开“Books by ISBN”。图1-1 0是视图的设计过程。这个视图有三个列,每个列显示一个域的内容。图1-10 very simple视图设计包含三个栏,每个栏都简单地显示了一个域的内容指定视图列的内容的最简单的方法是选择一个域,当然你也可以使用公式来指定视图列的内容。在“Books by Ti t l e”视图的Ti t l e域中使用下面的公式把开始的冠词移动到末尾:first:=Word(Title;:1);move:=(first*=A:An:The);If

41、(move;Trim(Right(Title;first)+,+first);Title)视图设计可以指定哪些文档将要被包含在视图中。通过使用“视图选择公式”我们可以完成这个功能。在“Books by ISDN”视图中我们使用了如下公式:SELECT Form=Book在接近页面顶部有一个 New Book按钮是在D o m i n o中由H T M L语言编写的视图活动按钮。在设计页面上,点击按钮你可以显示按钮的脚本:Command(Compose;Book)D o m i n o把这个活动按钮转换为如下H T M L:NewBook12计计中文Lotus Domino R5 Web高级编程

42、下载 此“按钮”事实上是一个只有一个元素的表,包括一个在视图的Ac t i o n属性中指定的与按钮图标对应的小图形文件,和一个在视图的 Ac t i o n属性中输入的按钮标签。按钮图标与OpenForm URL链接,这个U R L使D o m i n o显示表单如图1-11。这个表单是图1-1 2设计的表单的H T M L版本。D o m i n o把表格转换为 H T M L表格,把文字域转换为 H T M L的标签。D o m i n o还提供了S u b m i t标签弥补了我们的疏忽。由于保存和关闭按钮不能被转换为U R L连接,因此不能在H T M L中显示出来。我们可以注意到在

43、H T M L版本的表单下包含名为 N e wB o o k的标题条。在表单显示以前,D o m i n o对表单的标题公式进行计算,然后将其转换为 H T M L的元素。下面的公式语句使 D o m i n o在显示旧书时标题条为书名,而在创建新书时为单词“New Book”:IF(IsNewDoc;New Book;Title)图1-12 表单窗口的t i t l e公式被转换为H T M L的元素第1章 Domino Web开发综述计计13下载图1-11 Very Si m p l e表单包含了一系列的文本域,它们被转换为H T M L的标签当你填写完“B o o k”表单中的域并提交D

44、 o m i n o服务器时将触发CreateDocument URL,在数据库中创建一个新的文档并在其中填写入发送过来的域值。在包含该文档的视图中点击该文档可以以只读属性显示该文档的具体内容。参见图1-1 3。尽管在显示为只读文档时使用相同的表单,但其看起来是不一样的。D o m i n o不是以可编辑的文本域的形式来显示的,而是以静态文本的形式显示。另外,在页面的顶部显示一个“E d i t”按钮。这个按钮设置了隐藏条件,因此,当文档以编辑状态显示时这个按钮已经被隐藏了。下面是这个按钮的公式:C o m m a n d(E d i t D o c u m e n t )在把这个文档显示于

45、We b用户以前,D o m i n o把这个按钮转换为一个 EditDocument URL连接,该连接可以确定当前文档并提醒服务器现在文档应该处于编辑状态:Edit 如果你点击这个连接,文档将以编辑模式显示并在其中显示现存的数据。你可以改变域中的值并触发SaveDocument URL来更新当前文档。参考信息 IBM Redbooks 包含更多关于 I B M产品(包括 Visual Age)的有价值的信息。请访问h t t p:/w w w.r e d b o o k s.i b m.c o m。Carolyn Krauts的论文“Developer tools for building

46、 better We b s i t e s”介绍了L o t u sb e a n M a c h i n e,D o m i n o.A c t i o n和Notes Global Designer等产品。你可以在Iris To d a y中找到这篇论文,为此,你可以访问h t t p:/w w w.n o t e s.n e t。如想得到更多关于 S a m e t i m e,D o m i n o.d o c,D o m i n o.M e r c h a n t等相关产品的信息请访问h t t p:/w w w.l o t u s.c o m/h o m e.n s f。本章小结

47、D o m i n o可以高效地开发大量不同类型的应用程序,但并不是对所有类型的系统都是最好14计计中文Lotus Domino R5 Web高级编程下载图1-13 以只读模式显示b o o k文档的开发工具。尽管D o m i n o拥有无数的优点,但仍然并不善于开发大规模数据的、实时的、事务驱动的系统,毕竟D o m i n o并非一个关系型数据库。Domino Web 应用系统使用Domino 的特别的U R L,每个Domino URL可以直接指向存储在D o m i n o数据库中的资源。Domino 系统开发组件包括表单、视图、导航器、页面、大纲、嵌套元素、代理、计算域、简要表文档

48、、帧结构、J a v a S c r i p t、C O R B A/I I O P、D E C S以及数据库安全管理等。在D o m i n o开发过程中有许多工具可以扩展 D o m i n o的功能,包括S a m e t i m e、C和C+A P I函数、O L E程序开发工具、J D B C和O D B C驱动器、NetObjects Fusion、I B M的J a v a编辑器Visual Age、D S A P I、D o m i n o.A c t i o n、D o m i n o.d o c、D o m i n o.m e r c h a n t等等。此外还有许多L o

49、 t u s公司的合作伙伴能够提供咨询服务和其他组件。第1章 Domino Web开发综述计计15下载下载第2章使 用 表 单2.1 关于表单表单是Notes 应用的基础,它们决定了数据在输入输出过程中的显示方式;在一定程度上,也决定了在数据库中信息是如何存储的。如果没有设计漂亮的表单,就不会有精美的 D o m i n o应用。如果你熟悉H T M L的表单,开始时你可能会被 Lotus Notes 的表单弄糊涂。和H T M L表单一样,N o t e s的表单被用来从用户那儿获取信息(通常是通过可编辑的域)。和H T M L表单不一样的是,N o t e s的表单也被用来显示已经获取的信

50、息。这些信息存储在称为文档的容器之中。当你打开一个N o t e s表单时,填写完信息,选择保存。此时,在数据库中保存一个新文档。这个文档中包含了一个 F o r m域,它的值确认用来创建文档的表单名,当你打开文档时,这个表单被用来显示信息。文档是数据的一部分,表单是数据库设计的一部分。这和一个数据库中的记录(称为数据)与表(称为基础组织)二者之间的关系相类似。在H T M L表单和N o t e s表单中,另一个不同的地方是访问的模式。在默认情况下,当你打开一个N o t e s文档时,它处于只读模式;读者所看到的都是在一个字处理器中创建的文档,不包含任何文本域或下拉列表。如果你将此文档改成

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁