BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Portal > JavaServer Pages ガイド > パーソナライゼーション JSP タグ |
JavaServer Pages ガイド
|
パーソナライゼーション JSP タグ
WebLogic Portal に用意されている JSP タグを使用すると、開発者は、Java を使ってプログラミングしなくてもパーソナライズされたアプリケーションを作成できます。
この節では、以下の JSP タグに関する情報を示します。
広告
広告タグは、コンテンツ管理システムにクエリを発行して広告を表示します。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<ad:adTarget>
<ad:adTarget> タグ(表3-1)は、広告サービスを使用して、広告クエリをコンテンツ管理システムに送信します。 <ph:placeholder> タグとは異なり、<ad:adTarget> タグは広告プレースホルダ内の他のクエリと競合しません。 このタグは、顧客に向けて特定の場所に確実に広告を表示する必要がある場合に使用します。 どれだけ特化したクエリを作成するかにもよりますが、別の広告を表示する場合にはこのタグを削除または変更しなければならないことがあります。 広告クエリが複数の広告を返す場合、広告サービスは、表示する広告を各広告の adWeight 属性に基づいて決定します。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング 以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-1 は、<ad:adTarget> タグの属性についての説明です。
例 リスト 3-1 では、広告グループ「Car」内の広告を 1 つ選択し、200×400 ピクセルの領域内に描画します。 コード リスト 3-1 <ad:adTarget> タグの使用例
<%@ taglib uri="ad.tld" prefix="ad" %>
.
.
.
<ad:adTarget query="group == 'ads'" />
コンテンツ管理
コンテンツ管理コンポーネントには、4 種類の JSP タグが用意されています。 JSP 開発者はこれらのタグを使用して、パーソナライズされていないコンテンツを HTML ベースのページに組み込むことができます。 cm:select タグと cm:selectbyid タグでは、コンテンツ検索時にコンテンツをキャッシュすることができます。 これらのタグはどちらも本体をサポートせず、また使うこともありません。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<cm:getProperty>
<cm:getProperty> タグは、指定されたコンテンツ メタデータ プロパティの値を取り出して、resultId で指定された変数に代入します。 このタグには本体はありません。 resultId が指定されない場合、<cm:printProperty> タグと同様に、値はページにインラインで埋め込まれます。 このタグは、Content オブジェクトだけでなく、任意の ConfigurableEntity に作用します。 ただし、ConfigurableEntity サクセサはサポートされません。 タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング このタグは、コンテンツ管理システムからすでに取り出してあるデータを受け取るので、コンテンツ管理サービス プロバイダ インタフェース (SPI) への呼び出しは行いません。 タグの属性 表3-2 は、<cm:getProperty> タグの属性についての説明です。
例 リスト 3-2 は <cm:getProperty> タグの使用方法の例です。doc に格納された Content オブジェクトから name プロパティの String 値を取得し、その値を contentName 変数に代入します。 コード リスト 3-2 <cm:getProperty> タグの使用例 <%@ taglib uri="cm.tld" prefix="cm" %> <cm:printDoc>
.
.
.
<cm:getProperty resultId="contentName" resultType="String"
id="content" name="name" />
<es:notNull item="<%=contentName%>">
The name is not null.
</es:notNull>
<cm:printDoc> タグは、Document オブジェクトの未処理バイトを JSP 出力ストリームにインラインで埋め込みます。 このタグは本体をサポートしておらず、また Document オブジェクトだけをサポートします。 このタグでは、テキストとバイナリ データは区別されません。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング 以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-3 は、<cm:printDoc> タグの属性についての説明です。
注意: baseHref が指定されている場合、<cm:printDoc> タグは、baseHref パラメータの値を使用して起点の <BASE HREF> を出力します。 baseHref の URL が不完全な場合、欠けている部分は、最も外側のページの URL に基づいて補われます。
また、baseHref が指定されている場合、<cm:printDoc> タグはドキュメントの出力後、最も外側のページの URL に基づいて <BASE HREF> を出力します。
例
リスト 3-3 は <cm:printDoc> タグの使用方法の例です。request 属性内の id から Document オブジェクトを取得し、その Document のテキスト(相対リンクを含む場合がある)をインラインに埋め込みます。
コード リスト 3-3 <cm:printDoc> タグの使用例
<%@ taglib uri="cm.tld" prefix="cm" %>
.
.
.
.<% String contentId = request.getParameter("contentId"); %>
<cm:selectById contentId="<%=contentId%>" id="doc" />
<cm:printDoc id="doc" blockSize="1000" baseHref="/ShowDocServlet" />
<cm:printProperty>
<cm:printProperty> タグでは、指定されたコンテンツ メタデータ プロパティの値を文字列としてインラインに埋め込みます。 このタグには本体はありません。 このタグは、Content オブジェクトだけでなく、任意の ConfigurableEntity に作用します。 ただし、ConfigurableEntity サクセサはサポートされません。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング このタグは、コンテンツ管理システムからすでに取り出してあるデータを受け取るので、コンテンツ管理サービス プロバイダ インタフェース (SPI) への呼び出しは行いません。 タグの属性 表3-4 は、<cm:printProperty> タグの属性についての説明です。
例 リスト 3-4 は、<cm:printProperty> タグの使用方法の例です。テキスト入力フィールドのデフォルト値を、doc に格納された Content オブジェクトの件名の先頭 75 文字に設定します。 コード リスト 3-4 <cm:printProperty> タグの使用例 <cm:select>
<%@ taglib uri="cm.tld" prefix="cm" %>
.
.
.
<form action="javascript:void(0)">
Subject: <input type="text" size="75" name="subject"
value="<cm:printProperty id="doc" name="Subject" maxLength="75"
encode="html"/>" >
</form>
このタグでは、検索式のクエリ構文だけを使用してコンテンツを選択します。 このタグは本体をサポートせず、また使うこともありません。 このタグが <es:forEachInArray> タグ (<es:forEachInArray>を参照) を返した後で、Content オブジェクトの配列の反復処理にゼロを使用できます。 このタグは、ContentManager インタフェースを通じて、汎用の Content をサポートします。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング 以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-5 は、<cm:select> タグの属性についての説明です。
例 リスト 3-5 は <cm:select> タグの使用方法の例です。ContentCache を使用して、その日の夕方のニュース記事であることを示す Content オブジェクトの最初の 5 つのテキストを検索し、それらのタイトルをリストに出力します。 コード リスト 3-5 <cm:select> タグの使用例 <cm:selectById>
<%@ taglib uri="cm.tld" prefix="cm" %>
.
.
.
<cm:select contentHome="<%=ContentHelper.DEF_CONTENT_MANAGER_HOME%>" max="5" useCache="true" cacheTimeout="300000" cacheId="Evening News" sortBy="creationDate ASC, title ASC" query="
type = `News' && timeOfDay = `Evening' && mimetype like
`text/*' " id="newsList"/><ul>
<es:forEachInArray array="<%=newsList%>" id="newsItem"
type="com.bea.p13n.content.Content">
<li><cm:printProperty id="newsItem" name="Title"
encode="html" />
</es:forEachInArray>
</ul>
<cm:selectById> タグ(表3-6)は、Content の固有の識別子を使ってコンテンツを検索します。 このタグには本体はありません。 このタグは基本的には select タグのラッパーです。 文字列で指定可能な主キーを持つ、すべての Content オブジェクトに対して機能します。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング 以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-6 は、<cm:selectById> タグの属性についての説明です。
例 リスト 3-6 は <cm:selectById> タグの使用方法の例です。コンテンツ キャッシュを有効にし、識別子 1234 を指定して Document をフェッチし、そのコンテンツをインラインで埋め込みます。 コード リスト 3-6 <cm:selectById > タグの使用例
<%@ taglib uri="cm.tld" prefix="cm" %>
.
.
.
<cm:selectById contentHome="<%=ContentHelper.DEF_CONTENT_MANAGER_HOME%>"
contentId="contentportlet/sports1.htm"
id="doc" useCache="true" cacheTimeout="300000" cacheId="1234" />
<cm:printDoc id="doc" />
国際化
これらのタグは、国際化する必要のある JSP ページをローカライズする際に使われます。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
注意: <i18n> タグを使用して、JSP で表示するためのローカライズされたコンテンツを含むリソース バンドル ファイルを指定することができます。. リソース バンドル コンテンツが更新されているかどうかを WebLogic Portal がチェックする間隔設定についての詳細は、http://edocs.beasys.co.jp/e-docs/wlp/docs70/admin/sysadmin.htm にある『管理者ガイド』の「インターナショナライズのパフォーマンスのチューニング」を参照してください。
<i18n:localize>
このタグでは、<i18n:getmessage> タグを通じてリソース バンドルにアクセスするときにページ内で使われる言語コード、国別コード、ロケール変化形、および基本バンドル名を定義できます。 このタグでは、JSP ページに対して指定される文字コード化方式とコンテンツ タイプも指定します。 そのため、このタグは、バイト データが正しくコード化されるように、できるだけページの始めの方(出力ストリームに書き込みを行う前)で使用しなければなりません。
HTML ページがより大きいページに組み込まれる場合には、<i18n:localize> タグは親ページ(組み込む側のページ)でしか使用できません。 <i18n:localize> タグでそのページのコード化方式が設定される一方で、コード化方式は応答の出力ストリームにバイト データを書き込む前に親ページで設定されなければならないことがその理由です。 親ページでは、その中に組み込まれるページだけでなく、そのページ上のあらゆるコンテンツにも十分対応できるコード化方式を設定しなければなりません。 すべての文字列を <i18n:getMessage> タグで動的に取り出し、文字列を JSP ページに静的に埋め込むのを避ける(つまり、文字列をハードコード化するのを避ける)のが望ましいアプローチです。 ページに動的文字列(<i18n:getMessage tag> タグを使って取り出す文字列)だけが含まれている場合は、<i18n:localize> タグを、JSP 仕様で定義されている <%@ page contentType="<something>" > ページ ディレクティブと併用しないでください。 <i18n:localize> タグを使う場合には同ディレクティブは不要であり、同ディレクティブを一緒に使うと、結果的に contentType 宣言が矛盾したり誤ったものになるおそれがあります。 同一ページ内に静的文字列と動的文字列を混在させる必要がある場合、同ページ ディレクティブを使う必要が出てきます。 必ず、<i18n:localize> タグで指定される文字セットと、同ページ ディレクティブで指定される文字セットの互換性を保つようにしてください。 タグの属性 表3-7 は、<i18n:localize> タグの属性についての説明です。
例 1 リスト 3-7 の例では、<i18n:localize> タグを使用して単一の使用言語を定義します。 コード リスト 3-7 <i18n:localize> タグの使用例 (その 1) <%@ taglib uri="i18n.tld" prefix="i18n" %> 例 2 リスト 3-8 の例では、<i18n:localize> タグを使用して 2 つの使用言語(英語とスペイン語)を定義します。 コード リスト 3-8 <i18n:localize> タグの使用例 (その 2) <%@ taglib uri="i18n.tld" prefix="i18n" %> <i18n:getMessage>
.
.
.
<%
// 使用言語を 1 つだけ定義
String language = "en";
%><i18n:localize language="<%=language%>" bundleName="i18nExampleResourceBundle"/>
<html>
<body>
<i18n:getMessage messageName="greeting"/>
</body>
</html>
.
.
.
<%
// 使用言語を 2 つ定義する配列
// (優先順位は、英語、スペイン語の順)
String[] languages = new String[] { "en", "es" }; %>
<i18n:localize language="<%=languages%>" bundleName="i18nExampleResourceBundle"/>
<html>
<body>
<i18n:getMessage messageName="greeting"/>
</body>
</html>
このタグは、<i18:localize> タグと組み合わせて、ローカライズされた静的テキストやメッセージを JspMessageBundle から取り出すために使用します。
タグの属性 表3-8 は、<i18n:getMessage> タグの属性についての説明です。
例 1 リスト 3-9 の内容を JSP に組み込むと、次の出力が生成されます。 コード リスト 3-9 次のコードは、i18nExampleResourceBundle.properties という名前のプロパティ ファイル内のエントリを示します。 greeting=Welcome To This Page!
Welcome To This Page! 14 out of 100 files have been saved.
<%@ taglib uri="i18n.tld" prefix="i18n" %>
.
.
.
<%
// 使用言語を 1 つだけ定義
String language = "en";//メッセージ引数の作成
Object[] args = new Object[]
{
new Integer(14),
new Integer(100)
};
%> <i18n:localize language="<%=language%>" bundleName="i18nExampleResourceBundle"/>
<html>
<body>
<i18n:getMessage messageName="greeting"/>
<i18n:getMessage messageName="message" messageArgs="<%=args%>"/>
</body>
</html>
message={0} out of {1} files have been saved.
パーソナライゼーション タグ
<pz:div>、<pz:contentSelector>、および <pz:contentQuery> の各タグでは、それぞれ Advisor を使用してのユーザの分類、コンテンツの選択、およびコンテンツの取得を行います。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
この節では、以下の内容について説明します。
pz タグと内部キャッシュ
コンテンツ検索用の contextParams は、検索単位のコンフィグレーション属性をサポートし、内部キャッシュを使用するかどうかの判断に使用できます。 <cm:select> タグおよび <cm:selectById> タグは、contextParams の設定をサポートしますが、pz タグにはこの機能はありません。 <pz:contentSelector> タグで内部キャッシュの使用を制御するには、次の方法に従います。
<pz:content*> タグに次の内容を追加します。
contextParams="someName=someValue"
次のような実行時式の使用が推奨されます。
contextParams='<%="aName=aValue bName=bValue cName=cValue"%>'
<pz:contentQuery>
<pz:contentQuery> タグでは、コンテンツ マネージャ内のコンテンツを対象にコンテンツ属性検索を実行します。 useCache 属性が true に設定されている場合、コンテンツ管理クエリの結果がキャッシュされます。 このタグには開始タグしかなく、本体と終了タグはありません。 このタグは、コンテンツ クエリの実行結果としてコンテンツ マネージャから返された Content オブジェクトの配列を返します。 こうして返される Content オブジェクトに JSP 開発者がアクセスするために必要なパーソナライゼーション コンテンツ タグには、以下のものがあります。 オブジェクト配列イテレータ タグ。 このタグを使用すると、配列内の Content オブジェクトに対して反復処理を行うことができます。 Object の配列に対して反復処理を行うには、<es:forEachInArray> タグを使用します (詳細については、<es:forEachInArray> を参照)。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング
以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-9 は、<pz:contentQuery> タグの属性についての説明です。
例 リスト 3-10 は、<pz:contentQuery> タグの使用方法の例です。 コード リスト 3-10 <pz:contentQuery> タグの使用例 <pz:contentSelector>
<%@ page import="bea.p13n.content.ContentHelper" %>
<%@ taglib uri="es.tld" prefix="es" %>
<%@ taglib uri="cm.tld" prefix="cm" %>
<%@ taglib uri="pz.tld" prefix="pz" %>
.
.
.
<pz:contentQuery id="docs" contentHome="<%=ContentHelper.DEF_DOCUMENT_MANAGER_HOME%>"
query="author = 'Hemingway'" /><ul>
<es:forEachInArray array="<%=docs%>" id="aDoc"
type="com.bea.p13n.content.Content">
<li>The document title is: <cm:printProperty id="aDoc"
name="Title" encode="html" />
</es:forEachInArray>
</ul>
<pz:contentSelector> タグを使用すると、コンテンツ セレクタ ルールに基づいて、パーソナライズされた任意のコンテンツを推奨できるようになります。 コンテンツ セレクタ ルールはまず、E-Business Control Center で定義された 1 セットの条件 (たとえば、あるユーザが指定した分類に当てはまるかどうか) を評価します。 条件が true と評価されると、E-Business Control Center で定義されたコンテンツ クエリに基づいて、コンテンツが Content Manager から取り出されます。 注意: ルールは、E-Business Control Center を使って作成します。 この GUI ツールは、ビジネス アナリスト (BA) が独自の顧客セグメントを開発できるように設計されています。 ビジネス アナリストはルールの概念に詳しくないため、コンテンツ セレクタ ルールのことを単に「コンテンツ セレクタ」、また分類子ルールを「顧客セグメント」と呼ぶことがあります。 コンテンツ セレクタ ルールの結果をキャッシュするには、useCache 属性を true に設定します。 キャッシュがタイムアウトしていなければ、<pz:contentSelector> タグへの後続の呼び出しは、そのコンテンツ クエリを再評価することなくキャッシュされた値を返します。 <pz:contentSelector> タグには開始タグしかなく、本体と終了タグはありません。 このタグは、コンテンツ クエリの実行結果として Content Manager から返された Content オブジェクトの配列を返します。 返される Content オブジェクトに JSP 開発者がアクセスするために必要なタグには、以下のものがあります。
タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング
以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-10 は、<pz:contentSelector> タグの属性についての説明です。
contentHome の値を指定する コンテンツ セレクタ タグでは、contentHome を使って、コンテンツ管理システムの JNDI ホームを指定する必要があります。 参考版またはサードパーティ製のコンテンツ管理システムを使用している場合、スクリプトレットを使ってデフォルトのコンテンツ ホームを参照することができます。 スクリプトレットは ContentHelper クラスを使うので、先に、以下のタグを使ってクラスを JSP にインポートしておく必要があります。 <%@ page import="com.bea.p13n.content.ContentHelper"%> 次に、コンテンツ セレクタ タグを使うときに、以下のようにして contentHome を指定します。 <pz:contentSelector 独自のコンテンツ管理システムを作成する場合、ContentHelper スクリプトレットを使うのでなく、JNDI ホームを指定する必要があります。 また、独自のコンテンツ管理システムで JNDI ホームが指定されている場合は、ContentHelper スクリプトレットを使う代わりに、その JNDI ホームを指定することができます。 例 リスト 3-10 は、<pz:contentSelector> タグの使用方法の例です。 コード リスト 3-11 <pz:contentSelector> タグの使用例 注意: max 属性と組み合わせて使われるときの sortBy 属性の作用は、明示的な属性(システム定義)と暗黙的な属性(ユーザ定義)の場合で異なります。 明示的属性(identifier、mimeType、size、version、author、creationDate、modifiedBy、modifiedDate、lockedBy、description、またはcomments)を基準にしてソートする場合、そのソートはデータベース上で行われます。したがって、max="10" と sortBy を組み合わせると、システムはソートを行ってから最初の 10 項目を取得します。 暗黙的属性を基準にしてソートする場合、max 属性で指定した数の項目が選択された後でソートが行われます。 <pz:div>
contentHome="<%=ContentHelper.DEF_DOCUMENT_MANAGER_HOME %>"
... /> <%@ page import="com.bea.p13n.content.ContentHelper" %>
<%@ taglib uri="es.tld" prefix="es" %>
<%@ taglib uri="cm.tld" prefix="cm" %>
<%@ taglib uri="pz.tld" prefix="pz" %>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getProfile profileKey="bob"
profileId="myProfile" scope="session"/>
<pz:contentSelector rule="PremierCustomerSpotlight"
contentHome="<%=ContentHelper.DEF_DOCUMENT_MANAGER_HOME %>"
id="docs" />
<ul>
<es:forEachInArray array="<%=docs%>" id="aDoc"
type="com.bea.p13n.content.Content">
<li>The document title is: <cm:printproperty id="aDoc"
name="Title" encode="html" />
</es:forEachInArray>
</ul>
<pz:div> タグでは、ルール エンジンによる分類子ルールの実行結果として、条件に従ってコンテンツの断片を取り込むことができます。 ユーザのプロファイルが E-Business Control Center で指定された分類に一致する場合、条件に合ったコンテンツが取り込まれます。 このタグには、開始タグ、本体、および終了タグがあります。 このタグは、ユーザが属する Classification オブジェクトのリストを返します。 タグの属性 表3-11 は、<pz:div> タグの属性についての説明です。
例
<%@ taglib uri="pz.tld" prefix="pz" %>
<%@ taglib uri="um.tld" prefix="um" %>
<um:getProfile profileKey="bob"
profileId="myProfile" scope="session"/>
<pz:div id="classifications" rule="PremierCustomer">
<%
//ユーザが「主要顧客」に分類される場合、1 つのエントリがあるリストが返される//
java.util.Iterator iterator=classifications.iterator();
while (iterator.hasNext())
{
com.bea.p13n.user. Classification classification=(Classification) iterator.next();
out.println (classification.getName());
}
%> <p>新しいお得意様優待プログラムを開始しました。<p>
</pz:div>
プレースホルダ
プレースホルダ タグは、JSP 上で名前付きの位置として機能します。 プレースホルダの動作は、E-Business Control Center を使って定義します。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<ph:placeholder>
<ph:placeholder> タグは、プレースホルダを実装するタグです。プレースホルダは、JSP ページ上の特定の位置における動作を定義します。 プレースホルダは、E-Business Control Center を使って定義します。 複数のプレースホルダ タグが同一のプレースホルダを参照していてもかまいません。 プレースホルダ タグは、それぞれのプレースホルダ定義を、インスタンスごとに個別に呼び出します。 プレースホルダ定義が複数のクエリを指定している場合、プレースホルダ タグの各インスタンスの定義が同一の場合でも、インスタンスごとに別々の広告を表示できます。 広告プレースホルダを持つ JSP のリクエストを WebLogic Portal が受信すると、プレースホルダ タグは広告サービス(表示する広告を決定するビジネス ロジックを呼び出すセッション EJB)に問い合わせます。 関連するタグの詳細については、「<ad:adTarget>」を参照してください。 タグとコンテンツ管理サービス プロバイダ インタフェースとのマッピング 以下の表は、タグが、コンテンツ管理サービス プロバイダ インタフェース (SPI) 内のメソッドにアクセスする方法を示したものです。 この表では、呼び出しの順序についても示しています。
タグの属性
表3-12 は、<ph:placeholder> タグの属性についての説明です。
例 リスト 3-12 は、MainPageBanner プレースホルダで指定された広告を表示する例です。 コード リスト 3-12 <ph:placeholder> タグの使用例
<%@ taglib uri="ph.tld" prefix="ph" %>
.
.
.
<ph:placeholder name="/placeholders/MainPageBanner.pla"/>
プロパティ セット
プロパティ セット タグを使用すると、利用可能なプロパティとプロパティ セットのリストにアクセスできるようになります。 プロパティ セットの操作は、E-Business Control Center を使用して行います。
すべてのプロパティ セットタグは、結果を同じファイルに送ります。 結果を確認する場合、次のインポート ディレクティブをページの先頭に配置します。
<%@ page import="com.bea.p13n.property.servlets.jsp.taglib.PropertySetTag-
Constants" %>
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<ps:getPropertyNames>
<ps:getPropertyNames> タグは、指定されたプロパティ セット内のプロパティ名のリストを取得するために使用します。
タグの属性 表3-13 は、<ps:getPropertyNames> タグの属性についての説明です。
例 リスト 3-13 は、<ps:getPropertyNames> タグの使用方法の例です。 コード リスト 3-13 <ps:getPropertyNames> タグの使用例 <ps:getPropertySetNames>
<%@ taglib uri="ps.tld" prefix="ps" %>
<%@ page import=
"com.bea.p13n.property.servlets.jsp.taglib.PropertySetTagConstants"
%> <% String myPropertySet="Demographics"; %>
<p> ------- <b>ps:getPropertyNames</b> -------------
<br>
<ps:getPropertyNames propertySetName="<%= myPropertySet %>"
propertySetType="USER" id="propertyNames" result="myResult"/>
<% for (int i=0; i<propertyNames.length; i++)
out.println(propertyNames[i] + "<br>");
%>
<ps:getPropertySetNames> タグ (表3-14) は、指定されたプロパティ セット タイプのプロパティ セットのリストを取得するために使用します。 タグの属性 表3-14 は、<ps:getPropertySetNames> タグの属性についての説明です。
例 リスト 3-14 は、<ps:getPropertySetNames> タグの使用方法の例です。 コード リスト 3-14 <ps:getPropertySetNames> タグの使用例 <%@ taglib uri="ps.tld" prefix="ps" %> <ps:getRestrictedPropertyValues>
.
.
.
<ps:getPropertySetNames propertySetType="USER"
id="userPropertySets" result="myResult" />
<ps:getRestrictedPropertyValues> タグは、特定のプロパティ定義を対象に、文字列に変換された制限付き値のリストを返します。 値は文字列 (String) の配列として返されます。 タグの属性 表3-15 は、<ps:getRestrictedPropertyValues> タグの属性についての説明です。
例 リスト 3-15 は、<ps:getRestrictedPropertyValues> タグの使用方法の例です。 コード リスト 3-15 <ps:getRestrictedPropertyValues> タグの使用例
<%@ taglib uri="ps.tld" prefix="ps" %>
<%@ page import=
"com.bea.p13n.property.servlets.jsp.taglib.PropertySetTagConstants"
%><p> ---- <b>ps:getRestrictedPropertyValues</b> -----
<br>Possible values for PreferredLanguage:<ps:getRestrictedPropertyValues propertySetName="Demographics"
propertySetType="USER" propertyName="PreferredLanguage"
id="values" result="myResult"/><ul>
<% if (myResult.intValue() == PropertySetTagConstants.PROPERTY_SEARCH_OK)
{
for ( int i=0; i<values.length; i++ ) {
%><li><%=values[i]%>
<% }
}
%>
</ul>
ユーザ管理:
プロファイル管理タグ
ユーザ管理タグを使用すると、ユーザとグループのプロファイル情報にアクセスできるだけでなく、ユーザとグループの作成および削除や、ユーザとグループの関係の管理などの操作を行うこともできます。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<um:getProfile>
<um:getProfile> タグ (表3-16) は、指定されたプロファイル キーとプロファイル タイプに一致するプロファイルを検索します。 このタグには本体はありません。 取得されたプロファイルは com.bea.p13n.usermgmt.profile.ProfileWrapper として扱うことができます。 プロファイル キーとプロファイルに加えて、profileType 属性で指定するものと同様の、明示的なサクセサ キーとサクセサ タイプを指定することができます。 このサクセサは、取り出されたプロファイルとともに、その後で行われる <um:getProperty> タグの呼び出しで使われ、そのサクセサから必ずプロパティが継承されるようになります。 サクセサが取り出されなければ、標準の ConfigurableEntity サクセサ検索パターンが、取り出されたプロパティに適用されることになります。 タグの属性 表3-16 は、<um:getProfile> タグの属性についての説明です。
例 1 リスト 3-16 は、サクセサを指定せず、session スコープを明示的に指定してプロファイルを取り出す方法の例です。 コード リスト 3-16 <um:getProfile> タグの使用例 (その 1) 例 2 リスト 3-17 は、デフォルトのサクセサ タイプを使用し、request スコープを明示的に指定してデフォルトのユーザ プロファイル タイプを取り出す方法の例です。 コード リスト 3-17 <um:getProfile> タグの使用例 (その 2) <um:getProperty>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getProfile profileKey="bob" profileType="AcmeUser"
profileId="myProfile" scope="session"/><%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getProfile profileKey="bob" successorKey="engineering" scope="request"/>
<um:getProperty> タグは、指定されたプロパティ セットとプロパティ名の組に対応するプロパティ値を検索します。 このタグには本体はありません。 返される値は Object です。 <um:getProfile> タグが呼び出されて、セッションで使うためのプロファイルが取り出された後でこのタグが使われるのが典型的なケースです。 検索対象のプロパティは、そのセッション プロファイルから取り出されます。 <um:getProperty> タグの呼び出し時に <um:getProfile> タグがまだ使われていない場合、指定されたプロパティ値は匿名ユーザ プロファイルから取り出されます。 タグの属性 表3-17 は、<um:getProperty> タグの属性についての説明です。
例 1 リスト 3-18 は、<um:getProperty> タグの使用方法の例です。 コード リスト 3-18 <um:getProperty> タグの使用例 <um:getPropertyAsString>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getProperty id="myBirthDate" propertySet="Demographics" propertyName="Date_of_Birth"/>
My birthday is <%=myBirthDate%>.
<um:getPropertyAsString> タグは、前に説明した <um:getProperty> タグと同じように機能しますが、取り出されるプロパティ値は必ず String になります。 次の例では、Collection を返し、好きな色を列挙する多値プロパティを示しています。 タグの属性 表3-18 は、<um:getPropertyAsString> タグの属性についての説明です。
例 リスト 3-19 は、<um:getPropertyAsString> タグの使用方法の例です。 コード リスト 3-19 <um:getPropertyAsString> タグの使用例 <um:removeProperty>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getPropertyAsString id="myBirthDate" propertySet="Demographics" propertyName="Date_of_Birth"/>
My birthday is <%=myBirthDate%>.
<um:removeProperty> タグ (表3-19) は、指定されたプロパティを現在のセッションのプロファイルまたは匿名ユーザ プロファイルから削除します。 このタグには本体はありません。 削除されたプロパティに対して引き続き <um:getProperty> を呼び出すと、プロパティ セットで規定されているデフォルトのプロパティ値か、またはプロファイルのサクセサから継承されるデフォルト値が得られます。 タグの属性 表3-19 は、<um:removeProperty> タグの属性についての説明です。
例 リスト 3-20 は、<um:removeProperty> タグを使用してプロパティを削除する方法を示しています。 コード リスト 3-20 <um:removeProperty> タグの使用例 <um:setProperty>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:removeProperty propertySet="<%=thePropertySet%>" propertyName="<%=thePropertyName%>"/>
<um:setProperty> タグは、セッションの現在のプロファイルまたは匿名ユーザ プロファイルのプロパティ値を更新します。 このタグには本体はありません。 タグの属性 表3-20 は、<um:setProperty> タグの属性についての説明です。
例 リスト 3-21 は、<um:setProperty> タグの使用方法の例です。 コード リスト 3-21 <um:setProperty> タグの使用例
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<% String myGender = request.getParameter("gender"); %>
<um:setProperty propertySet="Demographics" propertyName="Gender" value="<%=myGender%>"/>
ユーザ管理:
グループおよびユーザ管理タグ
ユーザ管理タグを使用すると、ユーザとグループのプロファイル情報にアクセスできるだけでなく、ユーザとグループの作成および削除や、ユーザとグループの関係の管理などの操作を行うこともできます。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<um:addGroupToGroup> タグ (表3-21) は、childGroupName 属性で指定されたグループを、parentGroupName 属性で指定された親グループに追加します。 グループは親を 1 つしか持てないので、そのグループが別の親に属していることを表す以前のデータベース レコードはすべて破棄されます。 このタグが正常に動作するには、親グループも子グループもあらかじめ存在していなければなりません。 このタグには本体はありません。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-21 は、<um:addGroupToGroup> タグの属性についての説明です。
例 リスト 3-22 は、<um:addGroupToGroup> タグを使用して、既存のユーザ グループに新しいユーザ グループを追加する方法を示しています。 コード リスト 3-22 <um:addGroupToGroup> タグの使用例 <um:addUserToGroup>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:addGroupToGroup childGroupName="<%=childGroupName%>" parentGroupName="<%=parentGroupName%>" result="result"/>
<um:addUserToGroup> タグは、userName 属性で名前が指定されたユーザを、groupName 属性で名前が指定されたグループに追加します。 このタグが正常に動作するには、指定されたユーザも指定されたグループもあらかじめ存在していなければなりません。 このタグには本体はありません。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-22 は、<um:addUserToGroup> タグの属性についての説明です。
例 リスト 3-23 は、<um:addUserToGroup> タグを使用して、既存のグループに新しいユーザを追加する方法を示しています。 コード リスト 3-23 <um:addUserToGroup> タグの使用例 <um:createGroup>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:addUserToGroup userName="<%=userName%>" groupName="<%=groupName%>" result="result"/>
<um:createGroup> タグ (表3-23) は、新しいグループをレルム内に作成し、対応するグループ プロファイルをパーソナライゼーション データベース内に作成します。 このタグには本体はありません。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-23 は、<um:createGroup> タグの属性についての説明です。
例 リスト 3-24 は、<um:creategroup> タグを使用して新しいグループを作成する方法を示しています。 コード リスト 3-24 <um:creategroup> タグの使用例 <um:createUser>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:creategroup groupName="<%=groupName%>" result="result"/>
<um:createUser> タグは、 新しいユーザ プロファイルを作成します。 このタグには本体はありません。 このタグは、グループおよびユーザ管理タグとして分類されていますが、指定によっては、現在の匿名ユーザ プロファイルに関連付けられているあらゆるプロパティを永続化するので、実行時処理と組み合わせて使うことができます。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-24 は、<um:createUser> タグの属性についての説明です。
例 リスト 3-25 は、<um:createUser> タグを使用して新しいユーザを作成する方法を示しています。 コード リスト 3-25 <um:createUser> タグの使用例 <um:getChildGroupNames>
<%@ taglib uri="um.tld" prefix="um" %>
.
<um:createUser userName="<%=username%>" password="<%=password"%> result="result"/>
<um:getChildGroupNames> タグは、指定されたグループの子に当たるすべてのグループの名前を返します。 タグの属性 表3-25 は、<um:getChildGroupNames> タグの属性についての説明です。
例 リスト 3-26 は、<um:getChildGroupNames> タグを使用して、グループ SomeGroup の子グループの名前を取り出す方法を示しています。 コード リスト 3-26 <um:getChildGroupNames> タグの使用例 <%@ taglib uri="um.tld" prefix="um" %> <um:getGroupNamesForUser>
.
.
.
<um:getChildGroupNames groupName="SomeGroup"
id="childrenOfSomeGroup" />
<um:getGroupNamesForUser> タグは、指定されたユーザが直接所属するグループに一致するグループ名を検索し、結果を String 配列に入れて返します。 このタグには本体はありません。 タグの属性 表3-26 は、<um:getGroupNamesForUser> タグの属性についての説明です。
例 リスト 3-27 は、<um:getGroupNamesForUser> タグを使用して、ユーザに適用するグループ名を取り出す方法を示しています。 コード リスト 3-27 <um:getGroupNamesForUser> タグの使用例 <um:getParentGroupName>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getGroupNamesForUser userName="<%=username%>" id="myGroups"/>
<um:getParentGroupName> タグは、groupName 属性で指定されたグループの親に当たるグループの名前を検索します。 情報はレルムから取得されます。 このタグには本体はありません。 タグの属性 表3-27 は、<um:getParentGroupName> タグの属性についての説明です。
例 リスト 3-28 は、<um:getParentGroupName> タグを使用して親グループ名を取得する方法を示しています。 コード リスト 3-28 <um:getParentGroupName> タグの使用例 <um:getTopLevelGroups>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getParentGroupName groupName="<%=groupName%>" id="parentGroupName"/>
<um:getTopLevelGroups> タグは、親グループを持たないグループの名前を検索し、結果を配列に入れて返します。 情報はレルムから取得されます。 このタグには本体はありません。 タグの属性 表3-28 は、<um:getTopLevelGroups> タグの属性についての説明です。
例 リスト 3-29 は、<um:getTopLevelGroups> タグの使用方法の例です。 コード リスト 3-29 <um:getTopLevelGroups> タグの使用例 <um:getUsernames>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getTopLevelGroups id="topLevelGroups"/>
<um:getUsernames> タグは、指定された検索式に一致するユーザ名を検索し、結果を String 配列に入れて返します。 検索式では、ワイルドカード文字としてアスタリスク (*) だけを使用でき、大文字と小文字は区別されません。 検索式では任意の数のアスタリスクを使用できます。 このタグには本体はありません。 タグの属性 表3-29 は、<um:getUsernames> タグの属性についての説明です。
注意: USER_SEARCH_FAILED の値が返されるのは、ユーザの検索中に、データベース接続エラーなどの一般エラーが発生したときだけです。 検索条件に合致するユーザがいない場合、結果は UserManagementTagConstants.USER_SEARCH_FAILED にはならず、id に返される配列の長さがゼロになります。 例 リスト 3-30 は、<um:getUsernames> タグを使用してユーザ名を取得する方法を示しています。 コード リスト 3-30 <um:getUsernames> タグの使用例 <um:getUsernamesForGroup>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getUsernames userLimit="500" searchExp="t*" id="myUsers"/>
<%System.out.println("I found " + myUsers.length + " users.");%>
<um:getUsernamesForGroup> タグは、指定された検索式に一致し、かつ指定されたグループに属するユーザ名を検索し、結果を String 配列に入れて返します。 検索式では、ワイルドカード文字としてアスタリスク (*) だけを使用でき、大文字と小文字は区別されません。 検索式では任意の数のアスタリスクを使用できます。 このタグには本体はありません。 タグの属性 表3-30 は、<um:getUsernamesForGroup> タグの属性についての説明です。
注意: USER_SEARCH_FAILED の値が返されるのは、ユーザの検索中に、データベース接続エラーなどの一般エラーが発生したときだけです。 検索条件に合致するユーザがいない場合、結果は UserManagementTagConstants.USER_SEARCH_FAILED にはならず、id に返される配列の長さがゼロになります。 例 リスト 3-31 は <um:getUsernamesForGroup> タグの使用方法の例です。指定された検索式に一致し、かつ指定されたグループに属するユーザの名前を取得します。 コード リスト 3-31 <um:getUsernamesForGroup> タグの使用例 <um:removeGroup>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:getUsernamesForGroup groupName="engineering" userLimit="500" searchExp="t*" id="myUsers"/>
<%System.out.println("I found " + myUsers.length + " users in my group.");%>
<um:removeGroup> タグは、groupName 属性で指定された名前のグループを削除します。 このタグには本体はありません。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-31 は、<um:removeGroup> タグの属性についての説明です。
例 リスト 3-32 は、<um:removeGroup> タグを使用して、groupName 属性で指定された名前のグループを削除する方法を示しています。 コード リスト 3-32 <um:removeGroup> タグの使用例 <um:removeGroupFromGroup>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:removeGroup groupName="<%=groupName%>" result="result"/>
<um:removeGroupFromGroup> タグは、親グループから子グループを 1 つ削除します。 タグの属性 表3-32 は、<um:removeGroupFromGroup> タグの属性についての説明です。
例 リスト 3-33 は、<um:removeGroupFromGroup> タグを使用して、親グループから子グループを削除する方法を示しています。 コード リスト 3-33 <um:removeGroupFromGroup> タグの使用例 <um:removeUser>
<um:removeUser> タグは、userName 属性で指定されたユーザを削除します。 このタグでは、データベース内で profileType が設定されている任意のタイプの拡張ユーザを削除できます。 このタグには本体はありません。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-33 は、<um:removeUser> タグの属性についての説明です。
例 リスト 3-34 は、<um:removeUser> タグを使用してユーザを削除する方法を示しています。 コード リスト 3-34 <um:removeUser> タグの使用例 <um:removeUserFromGroup>
<%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:removeUser userName="<%=username%>" result="result"/>
<um:removeUserFromGroup> タグは、グループから 1 人のユーザを削除します。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 タグの属性 表3-34 は、<um:removeUserFromGroup> タグの属性についての説明です。
例 リスト 3-35 は、<um:removeUserFromGroup> タグを使用して、親グループから子グループを削除する方法を示しています。 コード リスト 3-35 <um:removeUserFromGroup> タグの使用例 <%@ taglib uri="um.tld" prefix="um" %>
.
.
.
<um:removeUserFromGroup username="UserToRemove"
groupName="SomeGroup" result="myResult" />
ユーザ管理: セキュリティ タグ
ユーザ管理タグを使用すると、ユーザとグループのプロファイル情報にアクセスできるだけでなく、ユーザとグループの作成および削除や、ユーザとグループの関係の管理などの操作を行うこともできます。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<um:login>
<um:login> タグは、現在のセキュリティ レルムに対する簡易認証(ユーザ名、パスワード)を提供し、認証済みユーザを現在の WebLogic ユーザとして設定します。 このタグには本体はありません。 注意: login タグが機能するには、username パラメータと password パラメータが HTTP リクエスト内に存在していなければなりません。 タグの属性 表3-35 は、<um:login> タグの属性についての説明です。
<um:logout> タグは、現在のユーザの WebLogic Server セッションを終了します。 このタグは <um:login> タグと組み合わせて使用することが推奨されます。 タグの属性 表3-36 は、<um:logout> タグの属性についての説明です。
<um:setPassword> タグは、userName 属性でユーザ名が指定されたユーザのパスワードを更新します。 注意: このタグは、現在のレルムが weblogic.security.acl.ManageableRealm の実装である場合にのみ呼び出すことが推奨されます。 このインタフェースはデフォルトの WebLogic Portal レルム (com.bea.p13n.security.realm.RDBMSRealm) によって実装されます。 加えて、現在のレルムによって使われるユーザ オブジェクトは weblogic.security.acl.CredentialChanger を実装する必要があります。 タグの属性 表3-37 は、<um:setPassword> タグの属性についての説明です。
パーソナライゼーション ユーティリティ
<es:jsptaglib> タグ ライブラリには、JSP ページを作成するために使用できる汎用的なタグが用意されています。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<es:convertSpecialChars>
<es:convertSpecialChars> タグは、通常は HTML ブラウザにとって特別な意味を持つ文字を所定の文字列に変換し、作成者の意図どおりに表示できるようにします。 たとえば、次の文はブラウザに対してタグの開始と終了を知らせる文字である「<」と「>」を使用しているので、変換する必要があります。 Enter <filename> here: タグの属性 表3-38 は、<es:convertSpecialChars> タグの属性についての説明です。
例 リスト 3-36 は、小なり符号を含む文字列を HTML で表示できるようにする例です。 コード リスト 3-36 <es:convertSpecialChars>タグの使用例 <es:counter>
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:convertSpecialChars string="<thisString>"/>
<es:counter> タグは、for ループ構文を作成するために使用します。 タグの属性 表3-39 は、<es:counter> タグの属性についての説明です。
例 リスト 3-37 は、<es:counter> タグの使用方法の例です。 コード リスト 3-37 <es:counter>タグの使用例 <es:date>
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:counter id="iterator" minCount="0" maxCount="10">
<% System.out.println(iterator);%>
</es:counter>
<es:date> タグは、ユーザの時間帯設定に基づいて書式化された日時文字列 (String) を取得するために使用します。 タグの属性 表3-40 は、<es:date> タグの属性についての説明です。
例 リスト 3-38 では、<es:date> タグを使用して日時を取得する方法を示しています。 コード リスト 3-38 <es:date>タグの使用例 <es:forEachInArray>
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:date formatStr="MMMM dd yyyy" timeZoneId="MST" />
<es:forEachInArray> タグは、配列に対して反復処理を行うために使用します。 タグの属性 表3-41 は、<es:forEachInArray> タグの属性についての説明です。
例 リスト 3-39 は、<es:forEachInArray> タグを使用して、配列に対して反復処理を行う方法を示しています。 コード リスト 3-39 <es:forEachInArray>タグの使用例 <es:isNull>
<es:forEachInArray id="item" array="<%=items%>" type="String" counterId="i">
<% System.out.println("items[" + i + "]: " + item);%>
</es:forEachInArray>
<es:isNull> タグは、値が null かどうかを調べるために使用します。 対象の値が String 型の場合、<es:isNull> タグは、その String が null かそれとも値を持っているかを調べるために使われます。 空の文字列の場合、isNull は false になります (空の文字列は null ではありません)。 タグの属性 表3-42 は、<es:isNull> タグの属性についての説明です。
例 リスト 3-40 は、<es:isNull> タグを使用して、値が null かどうかを調べる方法を示しています。 コード リスト 3-40 <es:isNull>タグの使用例 <es:notNull>
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:isNull item="<%=value%>">
Error: the value is null.
</es:isNull>
<es:notNull> タグは、値が null でないかどうかを調べるために使われます。 対象の値が String 型の場合、<es:notNull> タグは、その String が null でないか、それとも値を持っているかを調べるために使われます。 空の文字列の場合、notNull は true になります (空の文字列は値として扱われます)。 タグの属性 表3-43 は、<es:notNull> タグの属性についての説明です。
例 リスト 3-41 は、<es:notNull> タグを使用して、値が null でないかどうかを調べる方法を示しています。 コード リスト 3-41 <es:notNull>タグの使用例 <es:transposeArray>
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:notNull item="<%=value%>">
The value is not null.
</es:notNull>
<es:transposeArray> タグは、標準の [行][列] 配列を [列][行] 配列に転置するために使用します。 タグの属性 表3-44 は、<es:transposeArray> タグの属性についての説明です。
例 リスト 3-42 は、<es:transposeArray> タグの使用方法の例です。 コード リスト 3-42 <es:transposeArray>タグの使用例 <es:uriContent>
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:transposeArray id="byColumnRow" array="<%=byRowColumn%>" type="String">
...
</es:transposeArray>
<es:uriContent> タグは、URL からコンテンツを取り出すために使用します。 このタグは、大量のテキストが含まれるページを取得する用途に最も適しています。 タグの属性 表3-45 は、<es:uriContent> タグの属性についての説明です。
例 リスト 3-43 は、<es:uriContent> タグを使用して URL からコンテンツを取得する方法を示しています。 コード リスト 3-43 <es:uriContent>タグの使用例 注意: HTML ページを相対 URL と結合する場合には、それらのページを各 URL 内の正確なホスト名まで完全修飾しなければなりません。そうしないと、(他のリソース上の)画像をブラウザから正しく取り出すことはできません。
<%@ taglib uri="es.tld" prefix="es" %>
.
.
.
<es:uriContent id="uriContent" uri="http://www.beasys.com/index.html">
<%
out.print(uriContent);
%>
</es:uriContent>
WebLogic ユーティリティ
<wl:jsptaglib> タグ ライブラリには、WebLogic Server プラットフォームの一部として提供されるカスタム JSP 拡張タグが用意されています。
以降の表の「必須」列では、属性が必須と省略可能のどちらであるかを「はい」または「いいえ」で示します。 「R/C」列では、「C」は属性がコンパイル時表現であることを、「R」は属性が要求時表現とコンパイル時表現のいずれかであることを示します。
<wl:cache>
<wl:cache> タグでは、表示のたびにそのコンテンツが更新される必要がないことを指定します。 タグの属性 表3-46 は、<wl:cache> タグの属性についての説明です。
<wl:process>
<wl:process> タグは、クエリ属性ベースのフロー制御を行うために使われます。 リスト 3-44 に示すように、4 つの属性の組み合わせを使って、<wl:process> タグと </wl:process> タグで囲まれる文を選択的に実行できます。 タグの属性 表3-47 は、<wl:process> タグの属性についての説明です。
<wl:process> タグで囲まれる文は、次の表の内容に従って実行されます。
例 リスト 3-44 は、<wl:process> タグの使用方法の例です。 lastBookRead が存在し、lastBookRead の値が「A Man in Full」である場合に実行されます。 コード リスト 3-44 <wl:process> タグの使用例 <wl:repeat>
<%@ taglib uri="weblogic.tld" prefix="wl" %>
.
.
.
<wl:process name="lastBookRead" value="A Man in Full">
<!-- この部分のコードは、
lastBookRead が存在し、lastBookRead の値が
"A Man in Full" である場合に実行される。-->
</wl:process>
<wl:repeat> タグは、set 属性で指定されるさまざまな種類の Java オブジェクトに対して反復処理を行うために使われます。 タグの属性 表3-48 は、<wl:repeat> タグの属性についての説明です。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |