LotusDomino6.3特点和注意事项.ppt_第1页
LotusDomino6.3特点和注意事项.ppt_第2页
LotusDomino6.3特点和注意事项.ppt_第3页
LotusDomino6.3特点和注意事项.ppt_第4页
LotusDomino6.3特点和注意事项.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Domino Web应用开发综述,特点和注意事项,Web应用开发综述,Domino Web服务器 Domino Web是怎样运行的 Web应用特点和注意事项,Web应用特点和注意事项,为 Web 应用程序进行 Domino 编程时应注意一些特点和限制 。 一些Domino特性不能用于Web。 主要体现在: 公式语言 Web 代理 JavaScript 例如,一些公式在Notes中能使用,但不能在Web中使用。详细请参考电子书6.3,对 Web 应用程序特别有用的函数,获取客户机信息(ClientType 和 BrowserInfo) 打开 URL (URLOpen) 获取数据库名称(DbName、ReplaceSubstring、Subset,WebDbName) 域校验(Failure、Success) 链接到下一页或前一页 (DbCommand) DbCommand(“Domino“; “ViewNextPage“) DbCommand(“Domino“; “ViewPreviousPage“) 获取URL请求头的内容:GetHTTPHeader, SetHTTPHeader UrlQueryString http:/localhost/acpmis.nsf/myform?OpenForm&ID=986574&Category=Golf UrlQueryString(“ID“) 返回986574,举例:域的校验,Web 上的域校验公式运行失败,Failure 路径使指定为参数的消息显示在新页上。 在以下校验公式中,如果用户未能输入 RequiredField 的值,则单词“Required”以粗体显示在新页上: If(RequiredField = “; Failure(“ Required “); Success),在Web中比较有用的命令1,Compose 新建文档 Command(Compose; “Main Document“) 相当于:http:/host/database/form?OpenForm EditClear,删除当前打开的文档 Command(EditClear) http:/host/database/view/universalID?DeleteDocument Command(EditDocument) Command(EmptyTrash) Command(FileSave); Command(FileCloseWindow)(需要$Return域 ) “/“ + WebDbName + “/Main+View?OpenView“,在Web中比较有用的命令2,Command(FileSave); Command(OpenView; “All Documents“) Command(NavigateNext) http:/host/database/universalID?OpenDocument OpenDocument 命令与 OpenView一起使用 Command(OpenView; “Main View“; “one“); Command(OpenDocument) http:/host/database/view/key?OpenDocument Command(OpenPage; “Page One“)打开一个页面 http:/host/database/page?OpenPage。,在Web中比较有用的命令3,ToolsRunMacro和RunAgent Command(ToolsRunMacro; “Status = open“) Command(RunAgent; “Status = open“) Command(ViewChange; “Main View“) Command(SwitchView; “Main View“) http:/host/database/view?OpenView Command(ViewCollapseAll) Command(ViewExpandAll) http:/host/database/By+Category/OpenView&Start=1&Count=30&ExpandView Command(ViewShowSearchBar) http:/host/database/universalID/$searchForm?SearchView,Web代理,代理不能在浏览器中运行。代理可从浏览器激活,但它们运行在包含代理的 Domino 服务器上。 设置和激活 Web 代理 Web 上的 LotusScript 和 Java LotusScript 和 Java 代理环境,设置Web 代理,设置为共享代理; 将代理的运行设置为“事件触发”:“从代理列表中选择执行”或“从菜单中选择执行”。 设置代理运行目标为: 无,从WebQueryOpen和WebQuerySave,表单的操作,热点调用的代理的工作对象是当前文档 数据库中的所有文档 。 在“代理属性”框中选中“作为 Web 用户运行代理”,以使用浏览器登录名称运行代理。否则使用代理签名者运行代理,激活 Web 代理,可以两种方式从浏览器激活代理: OpenAgent URL 命令。在任何允许输入 URL 的地方输入代理名称来启动代理。 ToolsRunMacro和RunAgent命令。在操作、热点或事件中,如果调用的是隐藏代理,请给代理的名字加上括号。 LotusScript 代理是 Web 应用程序可以使用 LotusScript 的唯一环境,在代理中不能使用前端类 可以用打印语句print把数据输出到浏览器。 Java代理 AgentBase.getAgentOutput 获取一个 PrintWriter 对象并使用该对象写入浏览器,代理运行的上下文环境,代理运行的上下文环境依赖于代理是如何启动的: 如果代理是用RunAgent和ToolsRunMacro启动的,上下文环境是当前文档,NotesSession对象的DocumentContext属性是对当前文档的引用。 如果使用OpenAgent URL命令启动代理,没有当前文档,DocumentContext引用一个特殊的文档对象,包含Domino支持的所有的CGI变量。如果是使用RunAgent和ToolsRunMacro启动代理,也可以使用CGI变量,但是不会自动产生,须在支持文档的表单中创建同名的域。 OpenAgent URL 命令在 URL 字符串末尾传递由&符表示的参数。例如 http:/host/database/agentname/OpenAgent&Count=20 CGI变量:query_string获取参数,用公式写的代理,代理的名字:Change Status to Closed FIELD Status := “Closed“; SELECT All 使用OpenAgent URL命令的调用方式如下: http:/localhost/Web+test.nsf/Change+Status+to+Closed?OpenAgent 用“+”替换空格。 使用热点和操作的调用方式是: Command(ToolsRunMacro; “(Change Status to Closed)“),用LotusScript写的代理,Dim s As New NotesSession Dim db As NotesDatabase Dim dc As NotesDocumentCollection 文档集合 Dim doc As NotesDocument Set db = s.CurrentDatabase Set dc = db.UnprocessedDocuments 代理未处理过的文档 Set doc = dc.GetFirstDocument 集合众的第一个文档 Do While Not(doc Is Nothing) doc.Status = “Closed“ Call doc.Save(False, True) 修改后,保存 Set doc = dc.GetNextDocument(doc) Loop dbname$ = Evaluate(“WebDbName“) 在Script中调用公式函数 Print “/“ + dbname$ + “/Main+View?OpenView“ 执行完后,返回Main View视图,在代理中使用Java,import lotus.domino.*; import java.io.PrintWriter; import java.util.Vector; public class JavaAgent extends AgentBase public void NotesMain() try Session session = getSession(); AgentContext agentContext = session.getAgentContext(); DocumentCollection dc = agentContext.getUnprocessedDocuments(); Document doc = dc.getFirstDocument(); while (doc != null) doc.replaceItemValue(“Status“, “Closed“); doc.save(false, true); doc = dc.getNextDocument(doc); PrintWriter pw = getAgentOutput(); Vector v = session.evaluate(“WebDbName“); pw.println(“/“ + v.firstElement() + “/Main+View?OpenView“); catch(Exception e) e.printStackTrace(); ,传送URL参数给代理,http:/localhost/Web+test.nsf/Change+Status?OpenAgent&Closed arg = s.DocumentContext.Query_String(0) 使用CGI变量得到URL参数 解析命令行参数 p1 = Instr(arg, “&“) 得到& 在参数种的位置 If p1 = 0 Then Print “Need argument Open or Closed“ Exit Sub Else arg = Lcase(Mid$(arg, p1 + 1) If arg “open“ And arg “closed“ Then Print “Argument must be Open or Closed“ Exit Sub End If End If arg = Ucase(Left$(arg, 1) + Right$(arg, Len(arg) - 1),JavaScript,JavaScript 在浏览器中执行,Notes 客户机提供了简单有效的方法为用户界面编程。 可以将 JavaScript 代码放入特殊的 JavaScript 事件中,对于仅 Web 适用的应用程序也可以放入 HTML 中。 Domino Designer 对象与标准 JavaScript 对象模型有关。,JavaScript事件,JSHeader 事件 code goes here onSubmit 事件 表单提交 prom

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论