BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Portal > JavaServer Pages ガイド > カタログ開発用 JSP タグ |
JavaServer Pages ガイド
|
カタログ開発用 JSP タグ
WebLogic Portal 製品スイートに含まれている Commerce サービス には、使用頻度の高い Web ベースのプロダクト カタログ機能を実装する JavaServer Page (JSP) テンプレートと JSP タグが用意されています。プロダクト カタログ用の JSP テンプレートにより、顧客は商品アイテムを検索したり、カテゴリをたどってアイテムにたどり着くことができます。JSP タグは、こうした機能の実装に使用します。
このトピックは、以下の節で構成されています。
カタログ用 JSP タグ
この節では、プロダクト カタログ用 JSP タグ ライブラリを構成するタグをまとめています。これらのタグは、デフォルトの Product Catalog を構成する JSP テンプレートで使われます。必要な書式に合わせて、JSP テンプレートの使用時にタグを追加したり、削除したりできます。
注意: 以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<catalog:getProperty>
表示用のプロパティを ProductItem または Category から読み込むには、<catalog:getProperty> タグ(表5-1)を使います。プロパティは、明示的プロパティ(Catalog 項目で get メソッドを使って読み込めるプロパティ)または暗黙的プロパティ(Catalog 項目で ConfigurableEntity getProperty メソッドを介して利用できるプロパティ)のどちらでもかまいません。このタグは、まず指定のプロパティを明示的プロパティとして読み込めるかをチェックします。読み込めない場合は、指定のプロパティを暗黙的プロパティとして読み込みます。 表5-1 は、<catalog:getProperty> タグの属性についての説明です。
例 1 リスト 5-1 では、既存の ProductItem から詳細 JSP 情報を読み込んでいます。 コード リスト 5-1 <catalog:getProperty> タグの使用例 1 例 2 以下の例では、次の特徴をもつプロパティ セットまたはスキーマに対し、getterArgument 属性を使って暗黙的プロパティまたはカスタム プロパティを取得する方法を示しています。
<%@ 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"
/>
注意: 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>
<catalog:iterateViewIterator> タグは、ViewIterator を通して反復するときに使います。ViewIterator は、一連の固定サイズの Views に分割された大規模なリモート データの集合に対するイテレータです。ViewIterators は、多数のProductItems または Categories を返す可能性がある Catalog サービスのすべての API メソッドから返されます。このタグを使えば、一度に 1 つのアイテム(ProductItem または Category)に対して ViewIterator を反復することも、一度に View 全体(固定サイズの ProductItems または Categories のセット)に対して反復することもできます。このタグは、処理の完了時に ViewIterator の状態をリセットしません。 表5-3 は、<catalog:iterateViewIterator> タグの属性についての説明です。
例 1 リスト 5-3 では、ViewIterator にあるすべての Categories のキーを表示しています。 コード リスト 5-3 <catalog:iterateViewIterator> タグの使用例 1 例 2 以下の例では、ViewIterator に含まれているすべての Views を表示しています。 コード リスト 5-4 <catalog:iterateViewIterator> タグの使用例 2 <catalog:iterateThroughView>
<%@ taglib uri=”cat.tld” prefix=”catalog” %>
<catalog:iterateViewIterator
iterator="<%= myIterator %>"
id="category"
returnType="com.beasys.commerce.ebusiness.catalog.Category">
<%= category.getKey().toString() %>
</catalog:iterateViewIterator><%@ 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> タグ(表5-4)により、指定の ViewIterator を View 内で反復することができます。View の最後に達するまで、一度に 1 つの Catalog 項目に対して View を反復します。反復対象の View の(インデックスによる)指定がないと、ViewIterator の現在の View が使われます。このタグは、処理の完了時に ViewIterator の状態をリセットしません。 表5-4 は、<catalog:iterateThroughView> タグの属性についての説明です。
例 1 リスト 5-5 では、指定した ViewIterator の現在の View に含まれるすべての ProductItems のキーを表示しています。 コード リスト 5-5 <catalog:iterateThroughView> タグの使用例 1 例 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">
<%= item.getKey().toString() %>
</catalog:iterateThroughView><%@ 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> タグ(表5-5)を使用すると、値オブジェクトの一覧に含まれる要素の表示方法が制御でき、その前後のページへリンクできます。 接頭辞「<eb:」は、e-business(e ビジネス)の略です。スクロール可能なモデルを e ビジネス パッケージ全体で使用して、オブジェクトの一覧を通して反復させることができます。トランザクションやショッピング カート、注文履歴、発送サービスと組み合わせて使用できます。 このタグは、PipelineSessionConstants.SCROLLABLE_MODEL キーにある ScrollableModel オブジェクトを含む Pipeline セッションに依存しています。 表5-5 は、<eb:smnav> タグの属性についての説明です。
例 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%>" />
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |