このトピックでは、ユーザ データの送信が NetUI によってどのようにサポートされるかについて説明します。
アプリケーションで、ユーザの名前、電子メールなど、ユーザのデータを収集する場合を考えます。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 : 顧客データを編集するためのページを作成する」を参照してください。