Webページに含まれている各Struts入力フォーム(HTTP Postを使用する)に対して、データ入力フォームの状態の保持に役立つJavaBeanクラスを作成します。Beanは、動的フォームBeanをサポートするorg.apache.struts.action.ActionForm
またはorg.apache.struts.action.DynaActionForm
を拡張する必要があります。フォームBeanをプロジェクトに追加した後は、クラス・ファイルをカスタマイズしてBeanのsetterメソッドおよびgetterメソッドを定義します。作成されたフォームBeanには、reset()
メソッドとvalidate()
メソッドが格納されます。これらのメソッドは、そのまま使用したり、独自のコード(例: 独自の検証)を追加するために使用できます。
StrutsベースのWebアプリケーションを実行する前に、Strutsコンフィギュレーション・ファイルにフォームBeanを構成する必要があります。フォームBeanは、実行時に、Strutsコントローラ・サーブレットまたはJSPフォームによって作成されます。
このトピックには、次の項目が含まれます。
Strutsページ・フロー・ダイアグラムからform-bean要素を追加するには、次のようにします。
アクションを右クリックし、「フォームBeanソースに移動」を選択します。
「StrutsフォームBeanの作成」ダイアログで、新しいform-beanを定義します。
フォームBeanがStrutsコンフィギュレーション・ファイルに追加され、定義可能な状態でフォームBeanが開きます。
構造ウィンドウからform-bean要素を追加するには、次のようにします。
アプリケーション・ナビゲータで「Webコンテンツ」フォルダを開き、次に「WEB-INF」フォルダを開いて、フォームBeanを追加するStrutsコンフィギュレーション・ファイルを検索して選択します。
構造ウィンドウおよびプロパティ・インスペクタが表示されていない場合は、「表示」メニューから開きます。
構造ウィンドウで、「struts-config」ノードを開き、現在定義されているStruts要素のリストを表示します。
フォームBeanに関連するアクションがすでに存在している場合は、次の手順を実行します。
アクションを右クリックし、「フォームBeanソースに移動」を選択します。
StrutsフォームBeanの作成ダイアログで、新しいform-beanを定義します。
フォームBeanがStrutsコンフィギュレーション・ファイルに追加され、定義可能な状態でフォームBeanが開きます。
存在しない場合は、次の手順を実行します。
「struts-config」ノードを右クリックし、メニューから「struts-configの中に挿入」form-beansの順に選択します。
Struts構成エディタからform-bean要素を追加するには、次のようにします。
form-bean要素を追加するStrutsコンフィギュレーション・ファイルに対してStruts構成エディタを開きます。
「Struts構成エディタ」ダイアログで「フォームBean」を選択し、次に「追加」を選択します。
「新規フォームBeanを作成」ダイアログを使用して、新しいフォームBeanの詳細を指定します。
必要に応じて、新しいフォームBeanのプロパティを編集します。「form-bean要素の属性の編集」を参照してください。
構造ウィンドウとプロパティ・インスペクタを使用して属性を編集するには、構造ウィンドウで「フォームBean」フォルダから新しい要素名を選択し、現在選択されているフォームBean要素の属性リストをプロパティ・インスペクタに表示します(属性がフラット・リストとして表示される場合は、プロパティ・インスペクタの「カテゴリ」アイコンをクリックすると、属性がグループ別に表示されます)。
Struts構成エディタを使用して属性を編集するには、構造ウィンドウでform-beansノードを右クリックし、「編集」を選択します。Struts構成エディタが開き、フォームBeanの属性を編集できます。
form-beanのコードを表示するには、次のようにします。
たとえば、Webページに入力フィールドloginId
がある場合は、次のようにフォームBeanをカスタマイズしてフィールドを追加します。
public class MyLoginActionForm extends ActionForm {
protected String loginId;
protected FormFile myLoginJSPFile;
public void setLoginId(String text) {
loginId = text;
}
public String getLoginId() {
return loginId;
}
public void setMyLoginJSPFile(FormFile file) {
myJSPFile = file;
}
public FormFile getMyLoginJSPFile() {
return myLoginJSPFile;
}
}
フォームBeanのフォーム・データを検証するには、次のようにします。
フォーム内のデータをBeanによって検証する場合は、validate()
メソッドをカスタマイズできます。
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request)
{
return super.validate(mapping, request);
}
JDeveloperでのStrutsサポートについて
Strutsコントローラの使用
Copyright © 1997, 2007, Oracle. All rights reserved.