210 likes | 505 Views
LotusScript 代理. 大纲 Web 代理和 Notes 代理的异同点 编写 Web 代理前的预备知识 三种 Web 代理的编写 在 Ls 代理种使用 CGI 变量 Web 代理运行时的相关设置. LotusScript 代理. Web 代理和 Notes 代理的异同点 代码编写方式基本一致 Web 代理不能使用 UI 类 (在 Web 上 LotusScript 只能用在代理中). LotusScript 代理. 编写 Web 代理前的预备知识. LotusScript 代理.
E N D
LotusScript代理 • 大纲 • Web代理和Notes代理的异同点 • 编写Web代理前的预备知识 • 三种Web代理的编写 • 在 Ls 代理种使用CGI变量 • Web代理运行时的相关设置
LotusScript代理 • Web代理和Notes代理的异同点 • 代码编写方式基本一致 • Web代理不能使用UI类 • (在Web上LotusScript只能用在代理中)
LotusScript代理 编写Web代理前的预备知识
LotusScript代理 从Web上运行一个LotusScript代理有三种方法: •使用一个WebQueryOpen代理。 •使用一个WebQuerySave代理 •使用它的URL,例如,http://server/database/agent_name?OpenAgent。。
LotusScript代理 • 如何访问当前正在处理的文档 Doc=Notessession.DocumentContext • DocumentContext属性是一个特别的NotesDocument对象,它包含了关于当前环境的信息。这个文档内容类似于NotesUIDocument对象,你可以使用它在表单保存前从表单中得到值。另外,DocumentContext属性包含在CGI变量表单中的关于环境的信息。
LotusScript代理 • Web代理中Print语句(一) • 在Domino代理中,Print语句直接输出到用户的浏览器中,因此你完全可以使用HTML标签对你的输出进行格式化。 • print“<a href=‘#’>OK</a>” • print|<a href=“#”>OK</a>|
LotusScript代理 • Web代理中Print语句(二) • 你还可以使用LotusScript的Print语句把浏览器重新指向不同的Web页,比如说你可以输出一个包含在方括号中的URL,例如:Print ”[http://www.acme.com]”
LotusScript代理 你可以使用P r i n t语句做以下事情: • 当用户输入无效值时显示错误信息。 • 提示用户表单提交成功。 • 显示相关数据库查询结果。 • 根据用户的输出显示不同的响应。 • 显示到其他文档或其他U R L的<a herf>链接。 但 Print 在WebQueryOpen代理失效
LotusScript代理 三种Web代理的编写
WebQueryOpen代理的编写 • 什么时候运行 • 能为我们做什么 • 怎么做
什么时候运行 • WebQueryOpen代理运行于以下情况: • 用户请求一个文档之后。 • 文档被转换为HTML以前。 • 在计算显示域被刷新以后。
能为我们做什么 1.在页面打开前修改文档 2. HTML代码的动态内嵌
怎么做 • Set doc=NotesSession.DocumentContext • Doc.域名=xxx
WebQuerySave代理的编写 • 什么时候运行 • 能为我们做什么 • 怎么做
什么时候运行 • WebQuerySave代理运行于以下情况: • 当用户提交一个表单之后。 • 当计算域和有效的公式被刷新之后。 • 在文档保存在硬盘之前。
能为我们做什么 • 对于复杂的、不能通过公式完成操作 • 复杂的有效性逻辑验证 • 可以输出到浏览器 • 浏览器重新指向U R L
怎么做 • setdoc=NotesSession.DocumentContext • Doc.域名=xxx • Print 方法
使用URL运行的代理 • 对于复杂的不能通过公式完成的有效性逻辑验证非常有用。 • 可以输出到浏览器 • 浏览器重新指向U R L
在 Ls 代理种使用CGI变量 • 主要使用的CGI变量 • Query_String • Query_String_decode http://182.16.0.7/Test.nsf/AgDb?openAgent&asd=1 Query_String的值为 opeform&asd=1
在 Ls 代理种使用CGI变量 访问CGI变量的方法 Doc=Notessession.DocumentContext Strtmp=Doc. Query_String(0)
Web代理运行时的相关设置 1. 代理运行权限设置 2. 运行代理用户设置