今日のひとこと Challange IT For Future

outputLinkのmailto

MyFaces 読了 2分

この記事は最終更新から 20 年以上たっています。内容が現在の状況と異なる可能性があります。現在の情報は最新の記事、Fess の記事をご覧ください。

どうも、ポートレット上で 、これが動かないように見えるのだが。もしかして、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を使わんといかんな。そうしないとアドレス帳ポートレットが動かん。