このトピックでは、ユーザ データの送信が Beehive NetUI によってどのようにサポートされるかについて説明します。
たとえば、Web アプリケーションで、ユーザの名前、電子メールなど、ユーザのデータを収集する必要があるとします。このような場合に行われるユーザ データの送信処理は、Beehive 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 String firstName = ""; private String lastName = ""; public Customer(String firstName, String lastName) { super(); this.firstName = firstName == null ? "" : firstName; this.lastName = lastName == null ? "" : 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 フォーム、およびアクション メソッドの詳細については、Apache Beehive ドキュメントの「Handling Forms」を参照してください。
Beehive NetUI タグ ライブラリでは、高度なフォーム要素である repeater タグをサポートしています。これらのタグを使うと、フォームを動的に表示できます。動的に表示される反復フォームの詳細については、Apache Beehive ドキュメントの「NetUI Repeating Form Control Tags」を参照してください。
Workshop for Weblogic Platform には、Beehive NetUI フォームを作成するための強力なツールが用意されています。詳細については、「チュートリアル : Web アプリケーションからデータベースへのアクセス : 手順 4 : 顧客データを編集するためのページを作成する」を参照してください。