続き・・・
PLT.11 Portlet Requests
リクエストオブジェクトは、processAction、processEvent、serveResource、renderメソッドに渡される。
PLT.11.1 PortletRequest Interface
PortletRequest は、すべてのリクエストインタフェースの共通機能を定義する。
PLT.11.1.1 Request Parameters
以下のメソッドでアクセスする。
- getParameter
- getParameterNames
- getParameterValues
- getParameterMap
特に目新しいことはないと思う。
PLT.11.1.1.1 Form and Query Parameters
フォームのデータがPOSTで送信される場合、コンテンツタイプがapplication/x-www-form-urlencodedなら、そのデータはポートレットのリクエストパラメータに投入される。リクエストパラメータに投入されてしまったら、リクエストオブジェクトの入力ストリームではアクセスはできない。POSTでのデータがパラメータセットに含まれないときには、ActionRequest/ResourceRequestの入力ストリームでアクセスできる。
GETで送信される場合、フォームのデータは送信されたPortlet URLに付け足され、ポートレットのリクエストパラメータとしてアクセスできる。(うーん、何か表現が曖昧な気が・・・)
いくつかのポータル実装では、内部状態をURLクエリー文字列の一部としてエンコードしてないかもしれない。なので、GETによるフォームをサポートしてないかもしれないので注意されたし。(JSR 168 のときも J2 ではオプションを指定しないと、GETが取れない気がする)
ポートレットURLが必要とするURLを生成するECMAスクリプトかもしれないから、ポートレットがクライアントで単純にクエリーパラメータを追加するなと言っている。
今日はここまで・・・(進んでない)。