Oracle ADFを使用したモデル1形式のWebページの作成

JDeveloperでは、ページ・ナビゲーションのためのStrutsコントローラに依存しないモデル1形式のWebページを作成できます。さらに、アプリケーションでOracle Application Development Framework(Oracle ADF)を利用できます。モデル1形式のJSPページまたはADF UIXページをOracle ADF用に作成する場合、次のことができます。

注意: StrutsサポートのあるWebアプリケーションの作成を選択する場合は、「Oracle ADFを使用したStrutsベースのWebアプリケーションの作成」を参照してください。

Oracle ADFを使用してモデル1形式のWebアプリケーションを作成するには、次のようにします。

  1. アプリケーション・ナビゲータで「アプリケーション」ノードを右クリックし、「新規アプリケーション・ワークスペース」を選択します。

  2. 「アプリケーション・ワークスペースの作成」ダイアログで、アプリケーションの名前を指定します。

  3. 「アプリケーション・テンプレート」リストで、「Webアプリケーション(デフォルト、コントローラなし)」を選択します。「OK」をクリックしてダイアログを閉じます。

    ヒント: アプリケーション・エラーを回避するには、ビジネス・サービスとクライアント・アプリケーションを別個のプロジェクト・フォルダで開発する必要があります。JDeveloperアプリケーション・テンプレートにより、別個のプロジェクト・フォルダがワークスペースに作成されます。

  4. モデル・プロジェクトで、必要なビジネス・サービスを作成します。

  5. ビジネス・サービスをADFデータ・コントロールに登録します。

  6. ビュー・プロジェクトを選択し、「ファイル」->「新規」を選択して「新規」ギャラリを表示します。

  7. 「新規」ギャラリの「Web Tier」->「JavaServer Pages (JSP)」カテゴリから「JSPページ」を選択して、単純なJSPページをプロジェクトに追加します。

    または

    「新規」ギャラリの「Web Tier」->「ADF UIX」カテゴリから「空のUIX XMLページ」を選択して、単純なADF UIXページを追加します。

    注意: 「新規」ギャラリにすべてのテクノロジが表示されている場合、「Strutsコントローラ・ページ・フロー」は選択しないでください。Strutsサポートをプロジェクトに追加すると、設計時にモデル2形式のJSPページが適用されます。この場合、Strutsページ・フロー・ダイアグラムを使用してアクション・マッピングを作成することになります。

  8. ビジュアル・エディタにページが開きます。「設計」ビューが選択された状態にしてください。

  9. データ・コントロール・パレットから開いているWebページに、データ・バインドされたUIコンポーネントを挿入します。

    JDeveloperでデータ・コントロール・パレットを使用すると、データ・バインドされたページを簡単に作成できます。作成可能なページについては、「Oracle ADFのデータ・バインド・コンポーネントを使用したユーザー・インタフェースの設計」を参照してください。

PageLifeCycleのサブクラスを作成してOracle ADFイベントを処理するには、次のようにします。

  1. ナビゲータで、Webアプリケーション・プロジェクトを選択します。

  2. 「ファイル」->「新規」を選択します。

  3. 「カテゴリ」リストで「General」を開き、「Simple Files」を選択します。

  4. 「項目」リストで「Javaクラス」を選択します。「OK」をクリックすると、「Javaクラスの作成」ダイアログが開きます。

  5. 「Javaクラスの作成」ダイアログで、クラス名を入力します。たとえば、MyLifeCycleのように入力します。

  6. 「拡張対象」フィールドの隣の「参照」をクリックします。次に、「クラス・ブラウザ」ダイアログで、PageLifeCycleクラスを検索します。

    Class Browser shows PageLifeCycle class.

  7. 「OK」をクリックすると、クラスがプロジェクトに追加されます。Javaコード・エディタにファイルが開きます。

  8. 次のimport文をライフサイクル・クラスのソース・コードに追加します。

    import oracle.adf.controller.lifecycle.LifecycleContext;

  9. データ・コントロール・パレットからページに追加する各操作に対して、イベント・ハンドラ・コードを記述します。

    たとえば、データ・コントロール・パレットを使用して、 setCurrentRowWithKey(String)操作をボタンとしてページにドロップする場合は、次のようなイベント・ハンドラを記述します。

      public void onSetCurrentRowWithKey(LifecycleContext ctx)
           {
             super.invokeActionBinding(ctx, "setCurrentRowWithKey");
             ctx.setForwardPath("targetPage.jsp");
             ctx.setRedirect(true);
           }
    
           public void onSubmit(LifecycleContext ctx)
           {
             if (!this.hasErrors(ctx))
               {
                 ctx.setForwardPath("targetPage.jsp");
                 ctx.setRedirect(true);
               }
           }
              

イベントの処理が必要なWebページでライフサイクル・クラスを参照するには、次のようにします。

  1. ナビゲータで、カスタム・イベント・ハンドラの作成先のWebページを選択します。

  2. 構造ウィンドウを表示して、「adf:uimodelreference」を選択します。

  3. 「表示」->「プロパティ・インスペクタ」を選択して、プロパティ・インスペクタを開きます。

  4. プロパティ・インスペクタで、「lifecycle」を選択し、右側の省略記号(...)をクリックします。

  5. 「Lifecycleクラス」ダイアログで、「参照」をクリックします。

  6. 「クラス・ブラウザ」で、カスタム・ライフサイクル・クラスを検索し、「OK」をクリックします。

データ・バインドされたUIコンポーネントを、データ・コントロール・パレットからJSPページに最初に挿入すると、次のことが実行されます。

生成されるプロジェクト・ファイルおよびデータ・バインドされたUIコンポーネント内のモデル参照(${bindings.MyBindingObject.propertyName.attributeName})によって、Webアプリケーションは実行時にOracle ADFモデル・レイヤーにアクセスできるようになります。詳細は、「ADF固有のプロジェクト・ファイルについて」を参照してください。

実行時、挿入したUIコンポーネントは、ADFバインディングにアクセスするためのJSTLタグとEL式の組合せを使用してレンダリングされます。

さらに、ビジュアル・エディタを使用して、Webページの外観をカスタマイズすることもできます。これはモデル1のWebページであるため、アプリケーション・ナビゲータから直接Webページを実行できます。


Oracle ADFの概要は、次のトピックを参照してください。

データ・コントロール・パレットの詳細は、次のトピックを参照してください。

モデル2とモデル1のWebページの違いの概要は、次のトピックを参照してください。

 

Copyright © 1997, 2004, Oracle. All rights reserved.