lotusscript 代理

21
LotusScript 代代 代代 Web 代代代 Notes 代代代代代代 代代 Web 代代代代代代代代 代代 Web 代代代代代 • 在 Ls 在在在在在 CGI 在在 • Web 在在在在在在在在在在

Upload: teryl

Post on 21-Jan-2016

80 views

Category:

Documents


0 download

DESCRIPTION

LotusScript 代理. 大纲 Web 代理和 Notes 代理的异同点 编写 Web 代理前的预备知识 三种 Web 代理的编写 在 Ls 代理种使用 CGI 变量 Web 代理运行时的相关设置. LotusScript 代理. Web 代理和 Notes 代理的异同点 代码编写方式基本一致 Web 代理不能使用 UI 类 (在 Web 上 LotusScript 只能用在代理中). LotusScript 代理. 编写 Web 代理前的预备知识. LotusScript 代理. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: LotusScript 代理

LotusScript 代理

大纲

• Web 代理和 Notes 代理的异同点

• 编写 Web 代理前的预备知识

• 三种 Web 代理的编写

• 在 Ls 代理种使用 CGI 变量

• Web 代理运行时的相关设置

Page 2: LotusScript 代理

LotusScript 代理

Web 代理和 Notes 代理的异同点

代码编写方式基本一致 Web 代理不能使用 UI 类

(在 Web 上 LotusScript 只能用在代理中)

Page 3: LotusScript 代理

LotusScript 代理

编写 Web 代理前的预备知识

Page 4: LotusScript 代理

LotusScript 代理

从 Web 上运行一个 LotusScript 代理有三种方法:

• 使用一个 WebQueryOpen 代理。

• 使用一个 WebQuerySave 代理

• 使用它的 URL ,例如, http://server/database/agent_name?OpenAgent 。。

Page 5: LotusScript 代理

LotusScript 代理• 如何访问当前正在处理的文档

Doc=Notessession.DocumentContext

• DocumentContext 属性是一个特别的 NotesDocument对象,它包含了关于当前环境的信息。这个文档内容类似于 NotesUIDocument 对象,你可以使用它在表单保存前从表单中得到值。另外, DocumentContext 属性包含在 CGI 变量表单中的关于环境的信息。

Page 6: LotusScript 代理

LotusScript 代理• Web 代理中 Print 语句(一)

• 在 Domino 代理中, Print 语句直接输出到用户的浏览器中,因此你完全可以使用 HTML标签对你的输出进行格式化。

• print“<a href=‘#’>OK</a>”• print|<a href=“#”>OK</a>|

Page 7: LotusScript 代理

LotusScript 代理• Web 代理中 Print 语句(二)

• 你还可以使用 LotusScript 的 Print 语句把浏览器重新指向不同的 Web 页,比如说你可以输出一个包含在方括号中的 URL ,例如: Print ”[http://www.acme.com]”

Page 8: LotusScript 代理

LotusScript 代理

你可以使用 P r i n t 语句做以下事情:

• 当用户输入无效值时显示错误信息。

• 提示用户表单提交成功。

• 显示相关数据库查询结果。

• 根据用户的输出显示不同的响应。

• 显示到其他文档或其他 U R L 的 <a herf> 链接。

但 Print 在 WebQueryOpen 代理失效

Page 9: LotusScript 代理

LotusScript 代理

三种 Web 代理的编写

Page 10: LotusScript 代理

WebQueryOpen 代理的编写

• 什么时候运行

• 能为我们做什么

• 怎么做

Page 11: LotusScript 代理

什么时候运行

• WebQueryOpen 代理运行于以下情况:

• 用户请求一个文档之后。• 文档被转换为 HTML 以前。• 在计算显示域被刷新以后。

Page 12: LotusScript 代理

能为我们做什么

1. 在页面打开前修改文档

2. HTML 代码的动态内嵌

Page 13: LotusScript 代理

怎么做

• Set doc=NotesSession.DocumentContext

• Doc. 域名 =xxx

Page 14: LotusScript 代理

WebQuerySave 代理的编写

• 什么时候运行

• 能为我们做什么

• 怎么做

Page 15: LotusScript 代理

什么时候运行

• WebQuerySave 代理运行于以下情况:

• 当用户提交一个表单之后。• 当计算域和有效的公式被刷新之后。• 在文档保存在硬盘之前。

Page 16: LotusScript 代理

能为我们做什么

• 对于复杂的、不能通过公式完成操作

• 复杂的有效性逻辑验证

• 可以输出到浏览器

• 浏览器重新指向 U R L

Page 17: LotusScript 代理

怎么做

• setdoc=NotesSession.DocumentContext

• Doc. 域名 =xxx

• Print 方法

Page 18: LotusScript 代理

使用 URL 运行的代理

• 对于复杂的不能通过公式完成的有效性逻辑验证非常有用。

• 可以输出到浏览器

• 浏览器重新指向 U R L

Page 19: LotusScript 代理

在 Ls 代理种使用 CGI 变量

• 主要使用的 CGI 变量

• Query_String

• Query_String_decode

http://182.16.0.7/Test.nsf/AgDb?openAgent&asd=1

Query_String 的值为 opeform&asd=1

Page 20: LotusScript 代理

在 Ls 代理种使用 CGI 变量

访问 CGI 变量的方法

Doc=Notessession.DocumentContext

Strtmp=Doc. Query_String(0)

Page 21: LotusScript 代理

Web 代理运行时的相关设置

1. 代理运行权限设置

2. 运行代理用户设置