uCosminexus Portal Framework ポートレット開発ガイド
uCosminexus Portal Frameworkおよびポートレットは同一のサーブレット空間で動作します。そのため,HttpSessionおよびServletContextに設定するアトリビュート名は,すべてのポートレットで共有します。
ポートレット間で異なるアトリビュート名を指定するには,ポートレットユティリティクラスライブラリのPortletUtils#getNamespaceを使用してアトリビュート名を修飾する必要があります。PortletUtilsクラスの詳細は「14.4 ポートレットユティリティクラスライブラリ」を参照してください。また,アトリビュート名のプレフィックスとして"jp.co.hitachi.soft.portal","turbine","jetspeed"は使用できません。
アトリビュート設定と取得方法を次の表に示します。
表A-1 アトリビュート設定と取得方法
アトリビュート格納先 スコープ ポートレット開発者の対応 PageContext page JSPページ単位なので,ポートレットとしての対応は必要ありません。 ServletRequest request ポートレットで設定されたアトリビュートはポートレットを戻したあとに削除されます。ポートレット内でユニークなネームスペースが保証されるのでポートレットとしての対応は必要ありません。 HttpSession session PortletUtils#getNamespaceでユニークなネームスペースを取得してアトリビュート名を修飾します。 ServletContext application PortletUtils#getNamespaceでユニークなネームスペースを取得してアトリビュート名を修飾します。 JSPのjsp:useBeanアクションでスコープ属性がsessionおよびapplicationのBeanは,それぞれHttpSessionおよびServletContextにアトリビュートとして格納されます。そのため,該当するjsp:useBeanアクションは,ネームスペースを設定するようにスクリプトレットに置き換える必要があります。
アトリビュート操作の例を次に示します。
- アトリビュート設定
String msg = "Hello"; String namespace = PortletUtils.getNamespace(request, response); session.setAttribute(namespace+"アトリビュート名", msg);
- アトリビュート取得
String namespace = PortletUtils.getNamespace(request, response); String msg = (String)session.getAttribute(namespace+"アトリビュート名");
All Rights Reserved. Copyright (C) 2009, 2013, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2009, 2013, Hitachi INS Software, Ltd.