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はまだ長いな・・・。