BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

JavaServer Pages ガイド

 前 次 目次 PDFで表示  

カタログ開発用 JSP タグ

WebLogic Portal 製品スイートに含まれている Commerce サービス には、使用頻度の高い Web ベースのプロダクト カタログ機能を実装する JavaServer Page (JSP) テンプレートと JSP タグが用意されています。プロダクト カタログ用の JSP テンプレートにより、顧客は商品アイテムを検索したり、カテゴリをたどってアイテムにたどり着くことができます。JSP タグは、こうした機能の実装に使用します。

このトピックは、以下の節で構成されています。

 


カタログ用 JSP タグ

この節では、プロダクト カタログ用 JSP タグ ライブラリを構成するタグをまとめています。これらのタグは、デフォルトの Product Catalog を構成する JSP テンプレートで使われます。必要な書式に合わせて、JSP テンプレートの使用時にタグを追加したり、削除したりできます。

注意: 以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。

<catalog:getProperty>

タグ ライブラリ

cat.tld

インポート文

<%@ taglib uri="cat.tld" prefix="catalog" %>

実装されるクラス

GetPropertyTag

GetPropertyTagExtraInfo


 

表示用のプロパティを ProductItem または Category から読み込むには、<catalog:getProperty> タグ(表5-1)を使います。プロパティは、明示的プロパティ(Catalog 項目で get メソッドを使って読み込めるプロパティ)または暗黙的プロパティ(Catalog 項目で ConfigurableEntity getProperty メソッドを介して利用できるプロパティ)のどちらでもかまいません。このタグは、まず指定のプロパティを明示的プロパティとして読み込めるかをチェックします。読み込めない場合は、指定のプロパティを暗黙的プロパティとして読み込みます。

表5-1 は、<catalog:getProperty> タグの属性についての説明です。

表5-1 <catalog:getProperty> タグの属性

タグ属性

必須

データ型

解説

R/C

getterArgument

いいえ

String

明示的プロパティ getter メソッドの引数として指定するオブジェクトへの参照を示す。

暗黙的プロパティ、またはプロパティ セット フレームワークを使用して定義されたカスタム プロパティを取り込むために使用する場合がある。その場合、getterArgument はプロパティ セットのスコープ名となる(下の例 2 を参照)。

オブジェクトは、<%= getterArgumentReference %> の形式で指定し、実行時表現にする必要がある。

R

id

いいえ

String

id=”newInstance”

id 属性を指定すると、id が割り当てられている変数名の中で、読み込んだプロパティの値が使える。id 属性を指定しないと、プロパティの値がインライン化される。

C

object

はい

Catalog item

<%= objectReference %> の形式で指定される ProductItem または Category オブジェクトへの参照を示す。

R

propertyName

はい

String

propertyName=”propertyName”

読み込むプロパティの名前。明示的プロパティの場合は、表5-2 に示すいずれかの値を使える。

C

returnType

いいえ

String

returnType=”returnType”

id 属性を指定すると、id 属性で指定されている変数のデータ型が宣言される。

C


 

表5-2 propertyName の値

プロパティ名

カタログ項目のタイプ

“contributor | coverage | creationDate | creator | description | image | key | language | modifiedDate | name | publisher | relation | rights | source”

Catalog Item
(一般的なプロパティ)

“jsp”

Category

“availability | currentPrice | format | jsp | msrp | shippingCode | taxCode | type | visible”

ProductItem


 

例 1

リスト 5-1 では、既存の ProductItem から詳細 JSP 情報を読み込んでいます。

コード リスト 5-1 <catalog:getProperty> タグの使用例 1

<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<catalog:getProperty
object="<%= item %>"
propertyName="Jsp"
getterArgument=
"<%= new Integer(ProductItem.DETAILED_DISPLAY_JSP_INDEX) %>"
id="detailJspInfo"
returnType="com.beasys.commerce.ebusiness.catalog.JspInfo"
/>

例 2

以下の例では、次の特徴をもつプロパティ セットまたはスキーマに対し、getterArgument 属性を使って暗黙的プロパティまたはカスタム プロパティを取得する方法を示しています。

注意: getterArgument は実行時表現でなければならないため、MyCatalog を String 変数に割り当て、その変数をgetterArgument に対する値として使用します。

コード リスト 5-2 <catalog:getProperty> タグの使用例 2

<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<% 
String myPropertySetName = "MyCatalog";
ProductItem myProductItem = .....; // ProductItem への参照
%>
<catalog:getProperty
object="<%=myProductItem%>"
propertyName="color"
getterArgument="<%=myPropertySetName%>"
/>

<catalog:iterateViewIterator>

タグ ライブラリ

cat.tld

インポート文

<%@ taglib uri="cat.tld" prefix="catalog" %>

実装されるクラス

IterateViewIteratorTag

IterateViewIteratorTagExtraInfo


 

<catalog:iterateViewIterator> タグは、ViewIterator を通して反復するときに使います。ViewIterator は、一連の固定サイズの Views に分割された大規模なリモート データの集合に対するイテレータです。ViewIterators は、多数のProductItems または Categories を返す可能性がある Catalog サービスのすべての API メソッドから返されます。このタグを使えば、一度に 1 つのアイテム(ProductItem または Category)に対して ViewIterator を反復することも、一度に View 全体(固定サイズの ProductItems または Categories のセット)に対して反復することもできます。このタグは、処理の完了時に ViewIterator の状態をリセットしません。

表5-3 は、<catalog:iterateViewIterator> タグの属性についての説明です。

表5-3 <catalog:iterateViewIterator> タグの属性

タグ属性

必須

データ型

解説

R/C

id

はい

String

id=”newInstance”

id が割り当てられている変数名の中で、現在反復されているオブジェクトの値が使える。

C

iterator

はい

ViewIterator

ViewIterator オブジェクトへの参照を示す。指定する形式は、
<%= iteratorReference %>

R

iterateByView

いいえ

String

iterateByView=”{true|false}”

View または Catalog 項目のどちらで ViewIterator を反復するかを指定する。指定がないと、ViewIterator は Catalog 項目で反復する。

C

returnType

いいえ

String

returnType=”returnType”

id 属性で指定している変数のデータ型を宣言する。デフォルトは java.lang.Object。

iterateByViewtrue の場合、データ型は com.beasys.commerce.ebusiness.catalog.View とみなされる。

C


 

例 1

リスト 5-3 では、ViewIterator にあるすべての Categories のキーを表示しています。

コード リスト 5-3 <catalog:iterateViewIterator> タグの使用例 1

<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<catalog:iterateViewIterator
iterator="<%= myIterator %>"
id="category"
returnType="com.beasys.commerce.ebusiness.catalog.Category">
<%= category.getKey().toString() %>
</catalog:iterateViewIterator>

例 2

以下の例では、ViewIterator に含まれているすべての Views を表示しています。

コード リスト 5-4 <catalog:iterateViewIterator> タグの使用例 2

<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<catalog:iterateViewIterator
iterator="<%= myIterator %>"
id="view"
returnType="com.beasys.commerce.ebusiness.catalog.ViewIterator"
iterateByView=”true”>
<%= view.toString() %>
</catalog:iterateViewIterator>

<catalog:iterateThroughView>

タグ ライブラリ

cat.tld

インポート文

<%@ taglib uri="cat.tld" prefix="catalog" %>

実装されるクラス

IterateThroughViewTag

IterateThroughViewTagExtraInfo


 

<catalog:iterateThroughView> タグ(表5-4)により、指定の ViewIteratorView 内で反復することができます。View の最後に達するまで、一度に 1 つの Catalog 項目に対して View を反復します。反復対象の View の(インデックスによる)指定がないと、ViewIterator の現在の View が使われます。このタグは、処理の完了時に ViewIterator の状態をリセットしません。

表5-4 は、<catalog:iterateThroughView> タグの属性についての説明です。

表5-4 <catalog:iterateThroughView> タグの属性

タグ属性

必須

データ型

解説

R/C

id

はい

String

id=”newInstance”

id が割り当てられている変数名の中で、現在反復されているオブジェクトの値が使える。

C

iterator

はい

ViewIterator

ViewIterator オブジェクトへの参照を示す。指定する形式は、
<%= iteratorReference %>

R

returnType

いいえ

String

returnType=”returnType”

id 属性で指定している変数のデータ型を宣言する。デフォルトは java.lang.Object

C

viewIndex

いいえ

Integer

反復対象の View のインデックス(ViewIterator の先頭との相対位置)を指定する。参照されるオブジェクトは、<%= viewIndexIntegerReference %> の形式で指定する必要がある。

R


 

例 1

リスト 5-5 では、指定した ViewIterator の現在の View に含まれるすべての ProductItems のキーを表示しています。

コード リスト 5-5 <catalog:iterateThroughView> タグの使用例 1

<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<catalog:iterateThroughView
iterator="<%= myIterator %>"
id="item"
returnType="com.beasys.commerce.ebusiness.catalog.ProductItem">
<%= item.getKey().toString() %>
</catalog:iterateThroughView>

例 2

以下の例では、指定した ViewIterator の最初の View に含まれるすべての ProductItems のキーを表示しています。

コード リスト 5-6 <catalog:iterateThroughView> タグの使用例 2

<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<catalog:iterateThroughView
iterator="<%= myIterator %>"
id="item"
returnType="com.beasys.commerce.ebusiness.catalog.ProductItem"
viewIndex=”new Integer(0)”>
<%= item.getKey().toString() %>
</catalog:iterateThroughView>

 


e ビジネス用 JSP タグ

この節では、e ビジネス用 JSP タグ ライブラリを構成するタグをまとめています。

.
 

<eb:smnav>

タグ ライブラリ

eb.tld

インポート文

<%@ taglib uri="eb.tld" prefix="eb" %>

実装されるクラス

ScrollableModelTag


 

スクロール可能なモデルを使用して、値オブジェクトを取得する際、表示されているところだけが取り込まれるようにします。<eb:smnav> タグ(表5-5)を使用すると、値オブジェクトの一覧に含まれる要素の表示方法が制御でき、その前後のページへリンクできます。

接頭辞「<eb:」は、e-business(e ビジネス)の略です。スクロール可能なモデルを e ビジネス パッケージ全体で使用して、オブジェクトの一覧を通して反復させることができます。トランザクションやショッピング カート、注文履歴、発送サービスと組み合わせて使用できます。

このタグは、PipelineSessionConstants.SCROLLABLE_MODEL キーにある ScrollableModel オブジェクトを含む Pipeline セッションに依存しています。

表5-5 は、<eb:smnav> タグの属性についての説明です。

表5-5 <eb:smnav> タグの属性

タグ属性

必須

データ型

解説

R/C

event

いいえ

String

訪問者が [次] または [前] をクリックすることにより、Webflow のなかでコンフィグレーションが可能なリンク名 。

C

nextstring

いいえ

String

[次] に対応するローカライズ名。“>” のように単純なものでもよい。

C

origin

いいえ

String

現在の JSP ページ。

C

pageindex

いいえ

String

表示するページのインデックス。

R

prevstring

いいえ

String

[前] に対応するローカライズ名。“<” のように単純なものでもよい。

C


 

Commerce サービスの JSP テンプレートの一部である orderhistory.jsp により、訪問者は注文内容をページからページへとたどることができます。一度に表示できる注文は 10 件だけです。前後のページに移動するには、訪問者はタグによって表示される [次] または [前] のハイパーリンクをクリックします。リスト 5-7 では、訪問者に 40 件の注文があり、2 ページ目を表示している場合、タグが [前 | 20-29 | 次] のように表示されます。

コード リスト 5-7 <eb:smnav> タグの使用例

<%@ taglib uri="eb.tld" prefix="eb" %>
<!-- [前 / 10-19 / 次] の移動用文字列を表示 -->
<eb:smnav origin="orderhistory.jsp" event="link.viewOrderHistory"
prevstring="Previous" nextstring="Next"
pageindex="<%=pageIndexString%>" />

 

ページの先頭 前 次