クライアント側の開発者向けガイド

     前  次    目次     
ここから内容

ポータル Web プロジェクトでの JavaScript ライブラリのコンフィグレーション

現在は、WebLogic Portal プロジェクトを構築するために使用できるさまざまな JavaScript ライブラリおよびツールキットがあります。たとえば、Dojo ツールキットはクライアント側の WLP 開発に役立ちます。この節では、Dojo ツールキットを使用する WLP プロジェクトの設定方法について説明します。この手順に従って、目的の JavaScript ライブラリをプロジェクトに統合することもできます。

この章では、次のトピックについて説明します。

 


Dojo を使用した単純なポータル プロジェクトの作成

Dojo は、DHTML と JavaScript ブラウザ プログラミング用のツールキットです。Dojo では、低水準な I/O (XMLHttpRequest)、イベント フレームワーク、JavaScript 拡張、およびボタンやリストやフォームや、ツリーなどのさまざまなインタフェース ウィジェットが提供されます。Dojo には、ポータルとポータルのコンポーネントの開発に使用できる豊富な機能のセットがあります。

この節では、Dojo ツールキットを含む WLP プロジェクトの設定方法について説明します。

  1. Dojo ツールキットを検索して、ダウンロードする。ツールキットは、 www.dojotoolkit.org で入手できる。
  2. ダウンロードしたファイルを解凍する。
  3. Workshop for WebLogic では、ポータル Web プロジェクト、ポータル EAR プロジェクト、サーバ、およびドメインを作成する。これらのタスクの詳細については、「WebLogic Portal チュートリアル」を参照。
  4. ポータル Web プロジェクトの WebContent フォルダに resources というフォルダを作成する。そのフォルダに js というサブフォルダを作成する。
  5. Dojo ツールキット フォルダを resources/js フォルダにインポートする。そのためには、resources/js フォルダを右クリックし、[インポート] を選択する。ウィザードで、[一般|ファイルシステム] を選択する。Dojo ダウンロード ディレクトリから dojodijit の両方のフォルダをインポートする。図 4-1 を参照。
  6. 図 4-1 Dojo ツールキットのポータル プロジェクトへの追加


    Dojo ツールキットのポータル プロジェクトへの追加

Dojo ツールキットをポータル プロジェクトに追加したら、以下の節で説明するように Dojo と他の JavaScript コードをポートレットに組み込むことができます。

 


Dojo を使用した「Hello World」JSP ポートレット

この節では、メッセージをポップアップで表示する単純な JSP ポートレットについて説明します。サンプルは、ポートレットに Dojo ライブラリをインポートし、JavaScript を使用する方法を示します。

  1. Web プロジェクトの WebContent フォルダの下に portlets フォルダを作成する。
  2. portlets フォルダでは、dojotest.portlet という新しい JSP ポートレット記述子ファイルを作成する。このためには、フォルダを右クリックし、[新規|ポートレット] を選択する。ポートレット ウィザードを使用して、JSP ポートレットを作成する。ウィザードによって、自動的にポートレット ファイルと デフォルトで dojotest.jsp という空の JSP ファイルの両方を作成する。
  3. 表示依存関係ファイルを作成する。このファイルには、Dojo ツールキット ファイルへの参照、dojo.js、CSS ファイルへの参照、およびポートレットに使用される JavaScript 関数定義を含める。詳細については、「表示依存関係ファイルの作成」を参照。
  4. 表示依存関係ファイルを参照するためにポートレットをコンフィグレーションする。これを行うには、ポートレットを [ポートレット エディタ] ビューで開く。ポートレットの [プロパティ エディタ] で LAF 依存関係パスを、作成した依存関係ファイルを参照するように設定する。
  5. コード リスト 4-1 に示すコードを JSP ファイルに追加する。サンプル コードによって、以下のタスクが実行される。
  6. [dijit Button] のボタン要素またはウィジェットをインポートします。これは、ウィジェットをインポートするための一般なパターンです。このコードにより、ボタン インスタンスが宣言される前に、ボタンの JavaScript がロードされます。

    ボタン ウィジェットをインスタンス化し、ボタンのクリック イベント用のイベント ハンドラをコンフィグレーションします。ボタンをクリックすると、イベント ハンドラによって、あいさつの言葉とポートレットのラベルを含む JavaScript アラートが表示されます。

    コード リスト 4-1 Dojo を使用した「Hello World」

    <script type="text/javascript">
    // Dojo ボタン ウィジェットをロードする
    dojo.require("dijit.form.Button");
    </script>

    <button dojoType="dijit.form.Button" id="helloButton">
    Hello World!
    <script type="dojo/method" event="onClick">
    alert('You pressed the button');
    </script>
    </button>
  7. ポートレットをポータルに追加し、サーバで実行する。ポートレットのボタンをクリックすると、コールバックで定義されるテキストがポップアップに表示される。
  8. 図 4-2 Dojo を使用した「Hello World」JSP ポートレット


    Dojo を使用した「Hello World」JSP ポートレット

この節では、JSP ポートレットで Dojo コードを使用する方法について説明します。「クライアント側の開発のベスト プラクティス」では、ポートレットにおいて JavaScript コードを使用する場合発生する問題およびその問題を回避するためのベスト プラクティスについて説明します。

 


表示依存関係ファイルの作成

この節では、表示依存関係ファイルの目的、重要度について、また表示依存関係ファイルの作成方法について説明します。

表示依存関係の重要性

表示依存関係ファイルは、ポートレットが必要とする外部 JavaScript と CSS などのページ レベルのイベントとリソースを定義する XML です。通常、非ポータル Web ページでは、これらのファイルが HTML ページの <head> タグの中に含まれますが、ポートレットでこのファイルの使用を避ける必要があります。これを使用すると、ポータルやマッシュアップ環境内にいくつかの問題が発生するからです。これには、WebLogic Portal の Desktop Ajax 機能が有効に設定する場合、HTML/XHTML 非対応のページの生成と予期しない動作の発生が含まれます。表示依存関係メカニズムでは、リソースのリファレンスを宣言し、ロードとアンロードを含むページ レベル イベントに送信することをポートレットに許可することで、この問題に対処します。JavaScript のブロックを通常の <script> 要素でラップして、表示依存関係ファイルに含めることもできます。

サンプル表示依存関係ファイルの作成

表示依存関係ファイルを作成する簡単な方法は、Web アプリケーション内のフォルダを右クリックし、[新規|その他|WebLogic Portal|マークアップ ファイル|表示依存関係] を選択することです。コード リスト 4-2 は、生成されるファイルを示します。

コード リスト 4-2 空の表示依存関係ファイル
<?xml version="1.0" encoding="UTF-8"?>
<window
xmlns="http://www.bea.com/servers/portal/framework/laf/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/servers/portal/framework/laf/1.0.0
     laf-window-1_0_0.xsd"> 
</window>

次に、ファイルに <render-dependencies> XML タグを追加します。コード リスト 4-3 に示すように、Dojo ツールキットへのパスをタグに含めます。このリストには、Dojo が必要とする特定の要素が含まれます。たとえば、ページがロードされ、Dojo がコンフィグレーションされるときに作成される Tundra テーマと djConfig オブジェクトです。

<path-element> は、<script> タグに参照されるスクリプト ソースを含むディレクトリへの表示依存関係ファイルからの相対リファレンスである必要があります。

コード リスト 4-3 Dojo ツールキットを含む表示依存関係ファイル
<?xml version="1.0" encoding="UTF-8"?>
<window
xmlns="http://www.bea.com/servers/portal/framework/laf/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/servers/portal/framework/laf/1.0.0
     laf-window-1_0_0.xsd"> 
    <render-dependencies>
       <html>
          <links>
              <search-path>
                  <path-element>../resources/js</path-element>
              </search-path>
               <link href="dijit/themes/tundra/tundra.css" type="text/css"
               rel="stylesheet"/>
          </links>
          <scripts>
              <search-path>
                  <path-element>../resources/js</path-element>
              </search-path>
              <script type="text/javascript">
                  var djConfig = {parseOnLoad:true, isDebug:true};
              </script>
              <script src="dojo/dojo.js" type="text/javascript"/>
          </scripts>
       </html>
    </render-dependencies>
</window>

  ページの先頭       前  次