JSR 286 Portlet Specification 2.0 (PLT.11.1.1.14 – PLT.11.1.2)

1週間ぶりに続きから・・・

PLT.11.1.1.4 Public Render Parameters

他のポートレットとレンダーパラメータを協調できるようにするため、ポートレットはportlet.xmlにpublic-render-parameter要素を宣言できる。ここでいうポートレット間の共有とは、ポートレットアプリケーションを越える共有もできるみたい。Public Render Parameter(公開描画パラメータ?)はポートレットやコンポーネントから変更や参照が可能(コンポーネントが何をさすかは不明)。ポートレットは、supported-public-render-parameter要素をportlet要素の中で定義するようだ。

<public-render-parameter>
<identifier>foo</identifier>
<qname xmlns:x=”http://example.com/params”>x:foo.2</qname>
</public-render-parameter>
<public-render-parameter>
<identifier>bar</identifier>
<qname xmlns:x=”http://example.com/params”>x:foo.bar</qname>
</public-render-parameter>
<portlet>
<portlet-name>portletA</portlet-name>
...
<supported-public-render-parameter>foo</supported-public-renderparameter>
</portlet>
<portlet>
<portlet-name>portletB</portlet-name>
...
<supported-public-render-parameter>bar</supported-public-render-parameter>
</portlet>

ポータルコンテナはsupported-public-render-parameterを使って定義されたポートレットに対して、Public Render Parameter を送る。

レンダーパラメタの吐き出しのURLは奨励されるだけで、ポータル実装では必須ではない。Public Render Parameter は供給されなきゃ、ポートレットでは null として扱われる。ポートレットがレンダーパラメータをnullにセットしたら、ポータルコンテナは削除したものとして扱うべし。公開または非公開レンダーパラメータに関係なく、PortletRequestのgetParameterメソッドでアクセスできる。または、getPrivateParameterMapやgetPublicParameterMapなどでもそれぞれにアクセス可能。(そんなメソッドが追加されたのか・・・)

qname要素でpublic render parameterは特定される。他の方法としては、default-namespace要素でデフォルトの名前空間を指定できるそうな。

あとは、l10nの話で、javax.portlet.app.public-render-parameter.<identifier>.display-name をリソースバンドルで与えれば、表示名を翻訳できるみたい。

PLT.11.1.1.5 Resource Request Parameters

serveResourceリクエストでは、ポートレットはResourceURL上からリソースパラメータを受けとるべし。

PLT.11.1.2 Extra Request Parameters

javax.portlet. で始まるパラメータ名は予約されている。

とりあえず、今日はここまで・・・。PLT.11はまだ長いな・・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です