バックグラウンド
いずれかの組み込みボタンセットをウィザードで使用する場合、ユーザーが「完了」、「適用」、「保存」、または「チェックイン」のいずれかのボタンをクリックしてフォームを送信すると、ActionControllerの processRequest() メソッドを起動する JavaScript 関数が呼び出されます。WizardServlet は、HTTP フォームデータやほかのウィザードコンテキスト情報 (ウィザードが起動された場所など) を NmCommandBean に読み込みます。次に、WizardServlet は NmCommandBean を FormDispatcher クラスに渡します。FormDispatcher は FormProcessorController を呼び出します。
FormProcessorController はフォームデータを ObjectBeans に分割します。ウィザードのターゲットオブジェクトごとに 1 つの ObjectBean が作成されます。この ObjectBean には、そのオブジェクト別のすべてのフォームデータと、全オブジェクトに共通するフォームデータが含まれています。FormProcessorController は ObjectFormProcessors というクラスに ObjectBeans を渡します。このクラスはウィザードに適したタスク (データベースへの新規オブジェクトの作成、データベース内のオブジェクトの更新、オブジェクト ObjectFormProcessors のチェックインなど) を実行し、ObjectFormProcessorDelegates というクラスを呼び出して 1 つ以上のサブタスクを実行できます。
ウィザードが 1 つのオブジェクトに対して操作を実行する場合、ウィザード別にタスクを実行する独自の ObjectFormProcessor または ObjectFormProcessorDelegates を作成しなければならない場合があります。ただし、ウィザードでオブジェクトを作成または編集する場合は、製品に同梱されている、オブジェクトの作成および編集用のプロセッサを利用しても構いません。
詳細については、単一オブジェクトを作成するウィザードの構築および単一オブジェクトを編集するウィザードの構築を参照してください。
ウィザードに複数のターゲットオブジェクトが含まれている場合は、オブジェクトが処理される順序を制御する独自の FormProcessorController を作成しなければならない場合があります。ただし、作成する必要がない場合もあります。