JS2-489が登録されたけど、portlet.xmlで複数のポートレットでリソースバンドルの共有をしてしまうと、タイトルがL10Nできないんだよね・・・。これを含めて、そろそろ J2 の作業もたまってきたから、処理しようかね。
カテゴリー: Apache
How to clear RenderParameters set in action
メーリングリストで、この件名でいくつかメールが飛んでいたけど、時間がなくて放置していた。で、読んでみると、ActionResponse.setRenderParameterで値を渡しておくと、RenderResponseで毎回、値が入っているみたいなんだけど、と言う感じの話題。確かに、marevol.comのハローワールドで、値を入力して、他のページにいき、戻っても値が残っている。対処方法は、以下を参照するのがよいかね。
http://www.mail-archive.com/jetspeed-user%40portals.apache.org/msg02609.html
outputLinkのmailto
どうも、ポートレット上で 、これが動かないように見えるのだが。もしかして、ServletResponseのencodeURLはmailto:… というのを与えたら、普通にExceptionをはかずに、値を返すということだろうか??がしかし、PlutoのPortletResponseは、IllegalArgumentExceptionをはいて、終了・・・。なんじゃ、こりゃ~。この現象を見ていると、Plutoが悪いような気もする。というわけで、サーブレットとポートレットの仕様を確認。うーん、Plutoだ・・・。で、さらに、TomcatとPlutoのソースコードを見てみる・・・。Plutoよ、それではだめだ。なぜ、encodeURLで
if (path.indexOf("://") == -1 && !path.startsWith("/")) { throw new IllegalArgumentException( "only absolute URLs or full path URIs are allowed"); }
ということをするのかな・・・。手っ取り早く修正するには、throwせずに、returnでそのままかえすべきだろう。バグあげておこう・・・。そんで、パッチを当てたPlutoを使わんといかんな。そうしないとアドレス帳ポートレットが動かん。