いくつかの @関数は Web アプリケーションでは特に有用です。しかし制限のある @関数もあります。
@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")
@URLOpen 関数は、URL で指定された Web ページを開きます。次の例では、lotus.com が開きます。
@URLOpen("http://www.lotus.com")
Web アプリケーションでは、パラメータを指定しなければなりません。[URL を開く] ダイアログボックスを表示することはできません。
次の式はカレントのデータベース名を取得し、URL で使用するために調整します。
@WebDbName
@WebDbName は、スラッシュをバックスラッシュに、「%20」(16 進数の 20) をスペースに置換します。これは次の式と等価です。
@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1);
"¥¥"; "/"); " "; "%20")
@GetHTTPHeader 関数は、HTTP request-header フィールドの値を返します。次の例では、Host フィールドの値が返されます。
@GetHTTPHeader("Host")
@SetHTTPHeader 関数は、HTTP request-header フィールドの値を設定します。次の例では、Set-Cookie フィールドの値が設定されます。
@SetHTTPHeader("Set-Cookie"; "COOKIE1=4646")
次の式は、カレントのページおよびパラメータに責任を負う URL コマンドを、テキストリストに返します。
@UrlQueryString
特定のパラメータの値のみ取得するには、次のようにパラメータ名を指定します。
@UrlQueryString("Category")
@URLDecode と @URLEncode はスペース、分離記号など、URL 内の特殊文字を書式設定し、URL を読み取り可能な文字列として表示したりコンピュータに渡すことができるようにします。
次の式は読み取り可能な文字列「http://www.acme.com/4Q profit&loss」を返します。
@URLDecode ("Domino";"http://www.acme.com/4Q%20profit%26loss")
アドレスとして使用できるエンコードされた URL を返すには、URL 全体をエンコードしないでください。必要な分離記号が削除されるためです。代わりに、次のように最後の情報のみをエンコードします。
"http://www.acme.com/" + @URLEncode ("Domino";"4Q profit&loss")
@Success と @Failure は Web 上のフィールドの入力確認式で機能します。@Failure パスは、パラメータとして指定されたメッセージを新規ページに表示します。次の確認式ではユーザーが RequiredField フィールドに値を入れ忘れると、太字で「Gong」という文字が新規ページに表示されます。
@If(RequiredField = ""; @Failure("<B>Gong<¥B>"); @Success)
より拡張可能な HTML をエラーメッセージで使用すれば意味のあるエラーページを作成できます。
msg1 := "This is a required field.<br><br>";
msg2 := "<a href=/" + @WebDbName + "/Main+Document?OpenForm>";
msg3 := "Click here</a> to try again.";
msg := msg1 + msg2 + msg3;
@If(RequiredField = ""; @Failure(msg); @Success)
Web ビューでは、@DbCommand の最初のパラメータに「Domino」を指定すると、ページを上下に移動します。
@DbCommand("Domino"; "ViewNextPage")
@DbCommand("Domino"; "ViewPreviousPage")
次の @関数は Web で機能しないか、制限があります。
@関数 |
Web の制限 |
---|---|
@Certificate |
Web では機能しません。 |
@DbColumn(ODBC) |
リモートサーバーが Domino サーバーと同じコンピュータ上にある場合にのみ機能します。 |
@DbCommand |
Web では、@DbCommand("Domino") のみ許可されます。 |
@DbLookup(ODBC) |
リモートサーバーが Domino サーバーと同じコンピュータ上にある場合にのみ機能します。 |
@DDEExecute |
Web では機能しません。 |
@DDEInitiate |
Web では機能しません。 |
@DDEPoke |
Web では機能しません。 |
@DDETerminate |
Web では機能しません。 |
@DeleteDocument |
Web では機能しません。 |
@DialogBox |
Web では機能しません。 |
@DocChildren |
Web では、列式でのみ使用できます。 |
@DocDescendants |
Web では、列式でのみ使用できます。 |
@DocLevel |
Web では機能しません。 |
@DocLock |
Web では機能しません。 |
@DocMark |
Web では機能しません。 |
@DocNumber |
Web では、列式でのみ使用できます。 |
@DocParentNumber |
Web では、列式でのみ使用できます。 |
@DocSiblings |
Web では、列式でのみ使用できます。 |
@Domain |
Web では機能しません。 |
@EditECL |
Web では機能しません。 |
@EditUserECL |
Web では機能しません。 |
@Environment |
Web では機能しません。(代わりに、CGI 変数を使用します)。 |
ENVIRONMENT |
Web では機能しません。(代わりに、CGI 変数を使用します)。 |
@FontList |
Web では機能しません。 |
@GetFocusTable |
Web では機能しません。 |
@GetIMContactListGroupNames |
Web では機能しません。 |
@GetPortsList |
Web では機能しません。 |
@HardDeleteDocument |
Web では機能しません。 |
@IsAgentEnabled |
Web では機能しません。 |
@IsDocBeingMailed |
Web では機能しません。 |
@IsEmbeddedInsideWCT |
Web では機能しません。 |
@IsModalHelp |
Web では機能しません。 |
@LaunchApp |
Web では機能しません。 |
@MailDbName |
Web では機能しません。 |
@MailEncryptSavedPreference |
Web では機能しません。 |
@MailEncryptSentPreference |
Web では機能しません。 |
@MailSavePreference |
Web では機能しません。 |
@MailSend |
[Encrypt] と [Sign] は、Web では機能しません。 |
@MailSignPreference |
Web では機能しません。 |
@PickList |
Web では機能しません。 |
@Platform |
Web では、プラットフォームのみを返します。 |
@Prompt |
Web では機能しません。 |
@RefreshECL |
Web では機能しません。 |
@Responses |
Web では機能しません。 |
@SetEnvironment |
Web では機能しません。 |
@StatusBar |
Web では機能しません。 |
@TemplateVersion |
Web では機能しません。 |
@UpdateFormulaContext |
Web では機能しません。 |
@URLGetHeader |
Web では機能しません。 |
@URLHistory |
Web では機能しません。 |
@UserPrivileges |
Web では機能しません。 |
@ViewShowThisUnread |
Web では機能しません。 |