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を使わんといかんな。そうしないとアドレス帳ポートレットが動かん。

コメントを残す

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