Web での @関数

いくつかの @関数は 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")

URL を開く

@URLOpen 関数は、URL で指定された Web ページを開きます。次の例では、lotus.com が開きます。

@URLOpen("http://www.lotus.com")

Web アプリケーションでは、パラメータを指定しなければなりません。[URL を開く] ダイアログボックスを表示することはできません。

データベース名を取得する

次の式はカレントのデータベース名を取得し、URL で使用するために調整します。

@WebDbName

@WebDbName は、スラッシュをバックスラッシュに、「%20」(16 進数の 20) をスペースに置換します。これは次の式と等価です。

@ReplaceSubstring(@ReplaceSubstring(@Subset(@DbName; -1);
"¥¥"; "/"); " "; "%20")
注: @WebDbName は、Release 6 で新しく追加されました。従来のリリースでは、@DbName@Subset@ReplaceSubstring を使用した式が必要です。

request-header フィールドを取得および設定する

@GetHTTPHeader 関数は、HTTP request-header フィールドの値を返します。次の例では、Host フィールドの値が返されます。

@GetHTTPHeader("Host")

@SetHTTPHeader 関数は、HTTP request-header フィールドの値を設定します。次の例では、Set-Cookie フィールドの値が設定されます。

@SetHTTPHeader("Set-Cookie"; "COOKIE1=4646")
注: この @関数は、Release 6 で新しく追加されました。

URL コマンドを取得する

次の式は、カレントのページおよびパラメータに責任を負う URL コマンドを、テキストリストに返します。

@UrlQueryString

特定のパラメータの値のみ取得するには、次のようにパラメータ名を指定します。

@UrlQueryString("Category")
注: この @ 関数は、Release 6 で新しく追加されました。

URL 形式を操作する

@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")
注: この @ 関数は、Release 6 で新しく追加されました。

フィールドを検証する

@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 アプリケーションのページまたは文書のアクションから呼び出されたとき、@DbCommand は、そのページまたは文書の埋め込みビューで動作します。

制限付き @関数

次の @関数は 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 では機能しません。