在某些限制条件下公式语言可以用于 Web 应用程序。在 Notes 客户机菜单不可用的浏览器环境中,公式语言对于实现 Notes 客户机的菜单命令特别有用,与按钮、热点和操作一样。本部分描述:
在 Web 上使用公式的地方
@Function
@Command
在 Web 上使用公式的地方
下表概述了在 Web 上的哪些地方使用公式。
公式类型 应用
操作 用于浏览器。
代理 在浏览器中,可以使用 @command ToolsRunMacro 或者 URL 命令 OpenAgent 来启动一个代理。代理运行在 Domino 服务器上,而不是浏览器中。
列 用于浏览器。
计算域的值 用于浏览器。
计算文本 用于浏览器。
缺省值 用于浏览器。
事件 用于浏览器的公式事件只有表单中的 WebQueryOpen 和 WebQuerySave,这些事件被限制执行 @command ToolsRunMacro(在 Domino 服务器上运行代理)。
表单 用于浏览器。
隐藏段落 用于浏览器。
隐藏操作 用于浏览器。
热点 用于浏览器。
输入转换 用于浏览器。
输入校验 用于浏览器。
插入子表单 用于浏览器。
关键字域 用于浏览器。
复制 应用于后端数据库。
区段访问 用于浏览器。
区段标题 用于浏览器。
选择 用于浏览器。
便捷图标 只应用于 Notes 客户机。
窗口标题 用于浏览器。
@Functions
有几种 @function 对 Web 应用程序特别有用。然而,一些 @functions 是受限制的。
获取客户机信息(@ClientType 和 @BrowserInfo)
打开 URL (@URLOpen)
获取数据库名称(@DbName、@ReplaceSubstring、@Subset)
域校验(@Failure、@Success)
链接到下一页或前一页 (@DbCommand)
受限制的 @function
获取客户机信息
@ClientType 函数从浏览器返回“Web”,从 Notes 客户机返回“Notes”,从代理返回“None”。以下是计算文本公式的样例:
@If(@ClientType = \"Web\"; \"You are running from a browser\";
@ClientType = \"Notes\"; \"You are running from a Notes client\";
\"You are not running from a browser or a Notes client\")
@BrowserInfo 函数根据参数值返回浏览器的信息。如果用户正从浏览器运行,则以下样例获取浏览器的类型和平台信息:
@If(@ClientType = \"Web\";
\"You are running from a \" + @BrowserInfo(\"BrowserType\") +
\" browser on \" + @BrowserInfo(\"Platform\");
@ClientType = \"Notes\";
\"You are running from a Notes client on \" + @Platform;
\"You are not running from a browser or a Notes client\")
打开 URL
@URLOpen 函数打开由 URL 指定的 Web 页。以下样例打开 lotus.com:
@URLOpen(\"\")
在 Web 应用程序中,必须指定参数。不能调出“打开 URL”对话框。
Getting the database name
以下公式获取当前数据库的名称并调整它以便在 URL 中使用:
@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1);
\"\\\\\"; \"/\"); \" \"; \"+\")
@DbName 返回当前数据库的服务器和文件名称。@Subset 获取自己的文件名。内部 @ReplaceSubstring 函数用斜杠代替反斜杠。外部 @ReplaceSubstring 函数用加号代替空格。
域校验
Web 上的域校验公式运行失败。@Failure 路径使指定为参数的消息显示在新页上。在以下校验公式中,如果用户未能输入 RequiredField 的值,则单词“Gong”以粗体显示在新页上:
@If(RequiredField = \"\"; @Failure(\"
Gong<\\B>\"); @Success)
可以通过在错误消息中更广泛地使用 HTML 来使失败了的页更有意义:
db := @ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1);
\"\\\\\"; \"/\"); \" \"; \"+\");
msg1 := \"This is a required field.
\";
msg2 := \" to try again.\";
msg := msg1 + msg2 + msg3;
@If(RequiredField = \"\"; @Failure(msg); @Success)
链接到下一页或前一页
在 Web 视图中,以 \"Domino\" 作为第一个参数的 @DbCommand 上下翻页:
@DbCommand(\"Domino\"; \"ViewNextPage\")
@DbCommand(\"Domino\"; \"ViewPreviousPage\")
受限制的 @functions
以下 @functions 不能用于 Web 或在 Web 中受到限制。
@Function Web 限制
@Certificate 不能用于 Web
@DbCommand 只允许 @DbCommand(\"Domino\")
@DDEExecute 不能用于 Web
@DDEInitiate
@DDEPoke
@DDETerminate
@DeleteDocument
@DialogBox
@DocChildren 只能用于列公式
@DocDescendants 不能用于 Web
@DocLevel
@DocMark
@DocNumber
@DocParentNumber
@DocSiblings
@Domain
@Environment
ENVIRONMENT
@GetPortsList
@IsAgentEnabled
@IsCategory
@IsDocBeingMailed
@IsExpandable
@IsModalHelp
@MailDbName
@MailEncryptSavedPreference
@MailEncryptSentPreference
@MailSavePreference
@MailSend
@MailSignPreference
@PickList
@Platform 只返回平台
@Prompt 不能用于 Web
@Responses
@SetEnvironment
@URLGetHeader
@URLHistory
@UserPrivileges
相关文章 |
|
热门文章 |
|
|
|
|
|
|
文章评论 --------------------next---------------------
阅读(153) | 评论(0) | 转发(0) |
| |