ユーザ データを収集するためのフォームの作成

このトピックでは、ユーザ データの送信が NetUI によってどのようにサポートされるかについて説明します。

HTML フォームとフォーム Bean

アプリケーションで、ユーザの名前、電子メールなど、ユーザのデータを収集する場合を考えます。NetUI では、次の 3 つの手順によってユーザ データの送信がサポートされます。(1) 最初に、ユーザが通常の HTML フォームにデータを入力します。(2) そのデータは、送信時に、フォーム Bean と呼ばれる Java オブジェクトにロードされます。(3) 送信データがフォーム Bean としてパッケージ化されると、そのデータはコントローラ クラスによって自由に処理されます。一般的に、フォーム Bean は、コントローラ クラスのアクション メソッドの 1 つに渡され、以降の処理が行われます。

フォーム Bean は、ユーザに表示される HTML フォームの Java 表現です。具体的には、フォーム Bean は HTML フォームの標準 JavaBean 表現であり、HTML フォームの各データ フィールドに対して、対応するメンバー フィールドと、ゲッターおよびセッター メソッドを持ちます。たとえば、次の HTML フォームには firstname と lastname の 2 つのデータ フィールドがあります。

  <netui:form action="updateCustomer">
		<netui:textBox dataSource="actionForm.customer.firstName" id="field2"></netui:textBox>
		<netui:textBox dataSource="actionForm.customer.lastName" id="field3"></netui:textBox>
  </netui:form>

対応するフォーム Bean は、String firstname と String lastname の 2 つのメンバー フィールドを持ち、それぞれに対してセッターおよびゲッター メソッドを持ちます。

public class Customer implements Serializable {
 
	private static final long serialVersionUID = 1L;
   
	private String firstName = "";

	private String lastName = "";

	public Customer(String firstName, String lastName) {

		this.firstName = firstName;
		this.lastName = lastName;
	}

	public String getFirstName() {
		return firstName;
	}

	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	
	public String getLastName() {
		return lastName;
	}

	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
}

このフォーム Bean のインスタンスは、アクション メソッドに渡され、コントローラ クラスによって以降の処理が行われます。

public Forward updateCustomer(Customer form)
{
    ...
}

フォーム Bean、HTML フォーム、およびアクション メソッドの詳細については、「Handling Forms」を参照してください。

反復フォーム要素

NetUI タグ ライブラリでは、高度なフォーム要素である repeater タグをサポートしています。これらのタグを使うと、フォームを動的に表示できます。動的に表示される反復フォームの詳細については、「NetUI Repeating Form Control Tags」を参照してください。

[フォームの作成] ウィザードの使用

Workshop には、NetUI フォームを作成するための強力なツールが用意されています。詳細については、「チュートリアル : Web アプリケーションからデータベースへのアクセス : 手順 4 : 顧客データを編集するためのページを作成する」を参照してください。

関連トピック

NetUI Form Control Tags

NetUI Repeating Form Control Tags


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。