![]() ![]() ![]() ![]() |
ポータルを開発する場合は、JSP タグ、コンテンツ API およびパーソナライゼーション ツールを使用して検索し、ポータル ユーザにコンテンツを表示します。
通常、JSP ページのコンテキスト内ではコンテンツの取得と表示が行われます。JSP ページ内で、API を直接、JSP タグ、コンテンツ セレクタまたはプレースホルダを使用してクエリまたはルールに基くコンテンツを取得することができます。
コンテンツ セレクタ、およびキャンペーンを使用してパーソナライゼーションのルールまたは条件に従って、パーソナライズされたコンテンツをユーザに配信することができます。このコンテキスト内では、JSP タグを使用して必要なコンテンツを取得します。
パーソナライズされたコンテンツの配信の詳細については、『WebLogic Portal の対話管理ガイド』を参照してください。
WebLogic Portal には、コンテンツの取得と表示のためにJSP タグが用意されています。
コンテンツの取得または検索は通常、JSP ページのコンテキスト内で行われます。コンテンツ API を使用してもコンテンツを取得することができます。
コンテンツを取得するために、4 つのコンテンツ固有の JSP タグが使用できます。JSP タグの詳細については、コンテンツ管理に関する JSP Javadoc を参照してください。表 10-1 に、コンテンツに関連する JSP タグを示します。
使用するタグにかかわらず、次の 2 つのメソッドを使用して JSP タグでコンテンツが取得されます。
すべてのコンテンツは、固有のパスによってそのアドレスを示すことができます。このパスが、フォルダとコンテンツを作成すると、Portal Administration Console で表示されます。<cm:getNode>
JSP タグ内で、リポジトリ パスを指定してコンテンツを取得することができます。たとえば、コンテンツ階層が Portal Administration Console で 図 10-1のように表示される場合に、CarPic
を取り出すには、コード リスト 10-1 のコードを使用します。
<%@ taglib uri="content.tld" prefix="cm"%>
<cm:getNode path="/BEA Repository/Dev2Dev/CarPic" id="carpic" />
クエリを使用してもコンテンツを取得することができます。クエリの作成 の詳細については、『対話管理ガイド』の「条件式を使用するコンテンツ クエリの構築」を参照してください。
コンテンツを取得した後、ポータル内に表示する方法について判断する必要があります。コンテンツを表示するには、JSP タグおよびコンテンツ セレクタとプレースホルダなどのパーソナライゼーション ツールを使用することができます。この節では、JSP タグの説明と例を示します。コンテンツのパーソナライズの詳細については、『対話管理ガイド』を参照してください。
この節では、コンテンツを表示するために使用できるJSP タグの概要を説明します。
コンテンツは、表 10-2、「JSP タグを使用したコンテンツの表示」に表示されるタグを使用してポータルに表示することができます。タグの詳細なリファレンスについては、「コンテンツ管理の JSP Javadoc」を参照してください。
|
|
|
表示テンプレートでは、コンテンツ タイプに従ってコンテンツ用のビューを作成できます。コンテンツ タイプに基づきデフォルトのビューを作成することができるし、またはコンテンツ タイプへの複数のビューを作成することもできます。たとえば、画像の「サムネイル」 イメージだけでなくフルサイズ イメージを表示するビューも作成できるし、価格 (商品の場合) 、アドレス (画像は従業員ディレクトリの場合) などプロパティのリストも作成することができます。すべてのコンテンツタイプの表示テンプレートをリポジトリ内で設定できます。
ビューは、作成する JSP に基づいています。ビューは、その後、作成するコンフィグレーション ファイルで定義される。ビューを作成して、コンフィグレーション ファイル (XML) にマッピングした後、[表示テンプレート] タグでそれらのビュー (表示テンプレート) を参照することができます。
WebLogic Portal には、2 つのタイプの表示テンプレート タグがあります。<dt:displaycmtemplate>
は、コンテンツ管理システムからリソースを表示します。他のポータル リソースを表示する場合、<dt:displaytemplate>
タグを使用する必要があります。
これらのタグは、//
WebLogic_Home/portal/lib/modules
ディレクトリにある wlp-services-web-lib.war
の一部です。
ビューまたはテンプレートは、単なる JSP ページであり、関連するリソースを表示することができます。このページには、必要な JSP 機能を組み込むことができます。
Web アプリケーションの同じディレクトリにすべての表示テンプレートを格納することが、ベスト プラクティスです。
表示テンプレートを使用する前に、該当するリソースを作成されたビュー (JSP ページ) を関連付けるコンフィグレーション ファイルを作成する必要があります。たとえば、コンテンツ タイプで使用するビューを作成した場合、wlp-template-config.xml
ファイルを使用してその関係をコンフィグレーションする必要があります。
コード リスト 10-2 は、wlp-template-config.xml
スキーマのコメント付きアウトラインです。
<wlp-display-template>
<!-- コンテンツ リポジトリのタイプおよびテンプレートを説明します -->
<content-repository>
<!-- 必要に応じて、ネームスペースを使用して複数のリポジトリを定義できるようにします -->
<content-name-space>
<!-- リポジトリの名前。(必須) -->
<name> </name>
<!-- 開発者に対する説明であり、エンド ユーザに表示されません (省略可能) -->
<description> </description>
<!-- このテンプレートに一致するリポジトリのみを使用してコンテンツを表示する場合 (省略可能) -->
<default-template-uri> </default-template-uri>
<! -- コンテンツ リソースを参照するネームスペースを定義します (省略可能) --!>
<namespace></namespace>
<!-- コンテンツ タイプを説明します (省略可能) -->
<content-resource>
<!-- エンド ユーザには表示されない説明 (省略可能) -->
<description> </description>
<!-- コンテンツ タイプの名前。(必須) -->
<name> </name>
<!-- コンテンツ タイプが一致する場合のみ、このテンプレートを使用してコンテンツが表示されます (省略可能) -->
<default-template-uri> </default-template-uri>
<!-- ビューを説明します (省略可能) -->
<view>
<!-- ビューの名前 (必須) -->
<name> </name>
<!-- エンド ユーザには表示されない説明 (省略可能) -->
<description> </description>
<!-- ビュー名が一致する場合のみ、このテンプレートを使用してコンテンツが表示されます (必須) -->
<uri> </uri>
</view>
</content-resource>
</content-name-space>
</content-repository>
<!-- コンテンツ リポジトリにリンクされていないテンプレートを説明します -->
<template-group>
<!-- 複数のテンプレート グループを定義する場合に、ネームスペースを使用できるようにします --!>
<template-name-space>
<name> </name>
<description> </description>
<default-template-uri> </default-template-uri>
<template>
<description> </description>
<!-- テンプレートの名前。(必須) -->
<name> </name>
<default-template-uri> </default-template-uri>
<!-- このテンプレートのプレビュー アイコンを指定します (省略可能) --!>>
<default-template-preview-icon-uri> </default-template-preview-icon-uri>
<view>
<name> </name>
<description> </description>
<uri> </uri>
<!-- このビューのプレビュー アイコンを指定します (省略可能) --!>>
<preview-icon-url></preview-icon-url>
</view>
</template>
</template-name-space>
</template-group>
</wlp-display-template>
コード リスト 10-3 に、有効な wlp-template-config.xml
ファイルの例を示します。
<wlp-display-template>
<content-repository>
<name>MyRepo</name>
<default-template-uri>/MyDefault.jsp </default-template-uri>
<content-resource>
<name>thumbnail</name>
<view>
<name>small</name>
<uri>/smallview.jsp</uri>
</view>
</content-resource>
<content-resource>
<name>Product </name>
<default-template-uri>/MyProductDisplay.jsp</default-template-uri>
<view>
<name>small</name>
<uri>/product/smallview.jsp</uri>
</view>
</content-resource>
<content-resource>
<name>Camera </name> <default-template-uri>/MyCameraProductDisplay.jsp</default-template-uri>
<view>
<name>small</name>
<uri>/product/camera/smallview.jsp</uri>
</view>
</content-resource>
</content-repository>
</wlp-display-template>
<dt:displaycmtemplate>
は、コンテンツ管理システムからリソースを表示します。このタグとその属性の詳細については、「コマースと対話管理の JSP Tag Javadoc」を参照してください。
この例には、カメラを拡張し、製品を拡張する DigitalCamera のコンテンツ タイプを表示します。タグに対して、タイプの継承の利用に関する例については、「タイプ継承を使用した <dt:displaycmtemplate> の例」を参照してください。
この例では、次の 3 つの部分があります。コード リスト 10-4 は、定義された表示を使用する JSP 使用数の例を示し、コード リスト 10-5 は、デフォルトの表示を使用する使用数の例を示します。コード リスト 10-6 は、対応するコンフィグレーション ファイルを指定します。
ヒント : | 定義済みの表示テンプレートを持たないすべてのコンテンツ リソースでは、使用するコンフィグレーション ファイル内でデフォルト表示を定義できます。これを行なうには、「*」を値に使ってコンテンツ リソースを定義します。たとえば、<name>*<name> と入力します。例については、「コード リスト 10-6」を参照してください。コンテンツ リポジトリの要素には「*」を <name> として使用することもできます。 |
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="DigitalCamera" view="small"/>
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="Car" view="small"/>
<wlp-display-template>
<content-repository>
<name>MyRepo</name>
<default-template-uri>/MyDefault.jsp </default-template-uri>
<content-resource>
<name>*</name>
<!-- 名前要素で * を使用することで、コンテンツ リソースのデフォルト ビューを定義します --!>
<view>
<name>small</name>
<uri>/smallview.jsp</uri>
</view>
</content-resource>
<content-resource>
<name>Product </name>
<default-template-uri>/MyProductDisplay.jsp</default-template-uri>
<view>
<name>small</name>
<uri>/product/smallview.jsp</uri>
</view>
</content-resource>
<content-resource>
<name>Camera </name>
<default-template-uri>/MyCameraProductDisplay.jsp</default-template-uri>
<view>
<name>small</name>
<uri>/product/camera/smallview.jsp</uri>
</view>
</content-resource>
</content-repository>
</wlp-display-template>
<!-- このようなコンフィグレーションで、「product/camera/smallview.jsp」の uri を検索します。これは、デジタル カメラはカメラであり、カメラ リソースには小規模ビューがあるためです。-->
この例には、カメラを拡張し、製品を拡張する DigitalCamera のコンテンツ タイプを表示します。タグは、利用するビューを検索する時タイプの継承を使用することに注意してください。
この例では、次の 2 つの部分があります。コード リスト 10-7 は、JSP タグの構文を示し、コード リスト 10-8 は、対応するコンフィグレーション ファイルを指定します。
<dt:displaycmtemplate repositoryName="MyRepo" resourceName="DigitalCamera" view="full"/>
<wlp-display-template>
<content-repository>
<name>MyRepo</name>
<default-template-uri>/MyDefault.jsp </default-template-uri>
<content-resource>
<name>Product </name>
<default-template-uri>/MyProductDisplay.jsp</default-template-uri>
<view>
<name>small</name>
<uri>/product/smallview.jsp</uri>
</view>
<view>
<name>full</name>
<uri>/product/fullview.jsp</uri>
</view>
</content-resource>
<content-resource>
<name>Camera </name>
<default-template-uri>/MyCameraProductDisplay.jsp</default-template-uri>
<view>
<name>small</name>
<uri>/product/camera/smallview.jsp</uri>
</view>
</content-resource>
</content-repository>
</wlp-display-template>
<!-- このようなコンフィグレーションで、「product/fullview.jsp」の uri を見つかります。これは JSP タグであり、タイプの継承を利用することで、カメラは製品から継承することが分かるようになります。-->
非コンテンツ管理のポータル リソースを表示する場合、<dt:displaytemplate>
タグを使用する必要があります。このタグとその属性の詳細については、「コマースと対話管理の JSP Tag Javadoc」を参照してください。
WebLogic Portal には、プレビュー コンテンツに使用できるコンテンツ表示ポートレットが用意されています。コンテンツ表示ポートレットの詳細については、『ポートレット開発ガイド』の「コンテンツ表示ポートレットの使用」を参照してください。
![]() ![]() ![]() |