setErrorForComponentID()

sysLib.setErrorForComponentID() システム関数は、JSF ハンドラー内のフィールドとメッセージを関連付けます。

この関連付けは、Web ページのコンポーネントの ID に基づいて行われます。 JSF ハンドラーがこの関数を呼び出す場合、メッセージは、JSP の message または messages タグの位置に配置されます。

関連する Web ページが表示されたときに、メッセージが表示されます。 この関数は検証ルーチンの一部として使用するか、通知メッセージ用に使用することができます。

検証機能が sysLib.setErrorForComponentID() を呼び出した場合、この機能の終了時に Web ページが自動的に再表示されます。

複数のメッセージを 1 つのコンポーネントに関連付けることができます。 JSF ハンドラーが forward ステートメントを実行すると、メッセージは失われます。

構文

  sysLib.setErrorForComponentID(
    componentID STRING in,
    msgKey STRING in
    [, msgInserts STRING in])
componentID
メッセージに関連付ける Web ページ上のコンポーネントの ID。formName:componentName の形式で表します。ここで formName はコンポーネントを含む書式の ID で、componentName はコンポーネントの ID です。
msgKey
STRING 型との代入互換性のある任意の変数または式を入力できます。 msgKey は、実行時に使用されるメッセージ・リソース・バンドルまたはプロパティー・ファイルにキーを指定します。 キーがブランクの場合、メッセージはファイル内のすべてのメッセージの連結となります。
msgInserts
STRING 型と代入互換性のある 1 つ以上の変数または式を入力することができます。 各 msgInserts は、出力メッセージに挿入されます。 メッセージ・テキスト内の置換シンボルは、次の例のような中括弧で囲まれた整数です。
  Invalid file name {0}
挿入の配列を使用する sysLib.getMessage() と異なり、sysLib.setErrorForComponentID() では、置換の個々のパラメーターを使用します。
msgText
STRING 型との代入互換性のある任意の変数または式を入力できます。 これは、Web ページそのものと関連付けられたメッセージのテキストです。

次の例は、メッセージ・ファイル errorMessages_en_US.properties からの項目です。

badname = The name you entered, {0}, is not valid.
次の例は、このメッセージを使用するコードのセクションを示します。
  userName STRING = getUserName();  // 入力を要求します
  rc = validateUserName(userName);
  if (rc < 0)
    SysLib.setErrorForComponentID( "form1:CustName", 
       SysLib.getMessage( "badname", [ userName ] ) );
  end

互換性

表 1. setErrorForComponentID() の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 setErrorForComponentID() 関数はサポートされません。
JavaScript 生成 setErrorForComponentID() 関数はサポートされません。

フィードバック