|
||||||||||||
| 前のページ 1 2 3 4 次のページ | ||||||||||||
| orderメソッド | ||||||||||||
|
次にorderメソッドにcom.nexaweb.xml ElementクラスのmenuTableという引数を持たせます。この引数menuTableはメニュー画面のメニューテーブルを引き渡します。つまり注文確認ボタンが押されたときのメニューテーブルのデータをorderメソッドに渡すということになります。 orderメソッドでは、メニューテーブルの選択チェックボックスがチェックされた行のデータの商品名と単価をメッセージボックスで表示してみましょう。 NexawebではXPathFactoryクラスを用いてXPathを利用できます。ElementクラスはXMLのタグにあたるので、Elementクラスに対してXPathFactoryを利用して、XPathで任意のデータを取得できます。 リスト5では、メニューテーブルの行を取得し(リスト5の1)、選択チェックボックスが選択されている行だけを抽出し(リスト5の2)、その行の1番目の列、商品名と2番目の列、単価を取得して(リスト5の3)、メッセージボックスで表示させています(リスト5の4)。 リスト5:OrderMco#order |
||||||||||||
| MCOへのデータ引渡し | ||||||||||||
|
OrderMcoクラスのorderメソッドの引数として渡されるメニューテーブルは注文確認ボタンが押されたとき、onCommandイベントでMCOを呼び出す際にメニューテーブルを引き渡します。実際の例ではリスト6の1でメニューテーブルに「menu」というIDをつけています。このIDをリスト6の2のようにorderメソッドのパラメータに指定します。 リスト6:MCOにメニューテーブルを渡す このMCOを利用することで、金額に消費税を掛け合わせるとか、入力された値のバリデーション、画面遷移などが、Ajaxのように非同期で画面のデータを更新するなどの処理をクライアント側で行えるようになります。 |
||||||||||||
| データバインド | ||||||||||||
|
先ほどの注文画面では、メニューの一覧テーブルに表示するデータをハードコーディングしていました。次はテーブルなどのUIにデータをはめ込んで(バインド)して見ましょう。 まずはNexawebにどのようなデータの処理や加工に関する機能が備わっているか見てみましょう。NexawebにはData Frameworkと呼ばれる機能が存在します。Data Frameworkには、以下の4つの機能が備わっています。
表1:Data Frameworkに備わっている機能 まずここではデータソースを定義できる機能とデータをバインドできる機能について紹介します。 データソースを介して、画面(NXML)でデータを取得できるのですが、データソースはJavaでおなじみのjavax.sql.Datasourceと同じようなもので、データの供給先を定義するものです。今回はNXMLファイルと同じディレクトリに配置されたXMLファイルからデータを供給するデータソースを定義してみます。 一般的な開発では、データベースから取得したデータをサーバ側から供給してもらうことが多いと思います。この場合、Servletをデータソースとして利用し、Servletではデータベースから取得したデータをXMLとしてデータソースに供給する方法などで行えます。この方法については次回説明します。 |
||||||||||||
|
前のページ 1 2 3 4 次のページ |
||||||||||||
|
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||
|
|
||||||||||||
|
||||||||||||




