仮想フォームについて

関連項目

仮想フォームは、Web ページを送信する時に処理する入力フィールドに、制限をつけるために使用する機能です。たとえばユーザーが特定のボタンをクリックしたときに処理する入力コンポーネントが、テキストフィールドとドロップダウンリストのように、2 つあり、ボタンをクリックしたときにほかの処理は行われないようにする必要があるとします。このような操作を行うためには、仮想フォームを作成して、テキストフィールド、ドロップダウンリスト、ボタンを関連付けることができます。

入力および送信コンポーネント

仮想フォームは、ページの入力コンポーネントおよび送信コンポーネントのグループを定義します。入力コンポーネントは、仮想フォームに所属することができます。入力コンポーネントには、テキストフィールド、テキスト領域、ドロップダウンリスト、チェックボックス、リストボックス、ラジオボタンなどがあります。送信コンポーネントは仮想フォームを送信します。 送信 コンポーネントには、ボタンおよびハイパーリンクなどがあります。ほとんどの入力コンポーネントは、「仮想フォームと、変更時の自動送信」の手順に従って、仮想フォームに所属することも送信することもできます。

Web サイトのユーザーが仮想フォームを送信すると、仮想フォームに所属するフィールドだけが処理されます。仮想フォームのコンポーネントが自分のページにあるかのように、ページの残りの入力コンポーネントは無視されます。

仮想フォームへのコンポーネントの追加

コンポーネントを仮想フォームに追加するには、コンポーネントを右クリックし、「仮想フォームを構成」を選択します。ダイアログが開き、コンポーネントの追加が可能な各仮想フォームの列が表示されます。それぞれの行には、仮想フォームの色、名前、所属、送信のセルがあります。コンポーネントがフォームに所属可能な場合は、セルをクリックすると、ドロップダウンリストが表示され、設定を「はい」に変更できます。これは送信セルでも同じです。コンポーネントが送信も所属もできない場合は、セルをクリックしてもなにも起きません。

仮想フォームと、変更時の自動送信

一般的な送信コンポーネントはボタンおよびハイパーリンクコンポーネントですが、ドロップダウンリストのような入力コンポーネントも送信コンポーネントとして扱うことができます。ドロップダウンリストは、仮想フォームに所属することも、フォームを送信することもできます。コンポーネントの仮想フォームの動作は、「仮想フォームを構成」ダイアログで設定できます。ただし、ドロップダウンリストが実際に Web ページを送信するように設定するには、コンポーネントを右クリックして「変更時に自動送信」をオンにする必要があります。

送信される値の保持と破棄

仮想フォームで実装されたデフォルト動作のひとつに、同じページを再表示する仮想フォームを送信したときは、仮想フォームに属さない任意の入力フィールドはではなく送信される値が保持され、表示されるという機能があります。送信される値 とは、ユーザーが Web ページを送信するときに入力フィールドに入力されていた、変換や妥当性検査が行われていない入力値です。とは、コンポーネントの現在の値です。仮想フォームのこのデフォルト動作によって、フォームに所属していない (処理もされない) ユーザー入力値が、ページの再表示の際に失われてしまうことのないようにします。

状況によって、このデフォルト動作をオーバーライドして、所属していない入力フィールドの送信される値を破棄し、値を表示する必要がある場合があります。例として、選択されたマスターに応じて詳細データを編集するシナリオが挙げられます。ユーザーが新しいマスターを選択すると、このマスターの新しいデータでデータプロバイダの詳細が更新されるため、この詳細データの入力フィールドには、古いマスターのデータである送信される値ではなく、新しいマスターのデータであるが表示される必要があります。

フォームコンポーネントは次のメソッドを提供し、所属していない入力フィールドの送信される値の破棄を実行します。

   public void discardSubmittedValues(String virtualFormName)
   public void discardSubmittedValue(EditableValueHolder inputField)

一般ガイドライン

関連項目
「仮想フォーム」ダイアログ
「仮想フォームを構成」ダイアログ
コンポーネントの手順
コンポーネント関連の手順早見表
ページについて

著作権と商標について