今日のひとこと Challange IT For Future

JSF Spec 3.1.1 と 6.1.2

JSF 読了 2分

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

ExternalContext の encodeNamespace について、調べていて気づいたのだが、サーブレットでは何もしないので関係ないが、ポートレットではRenderResponse#getNamespace()を使って変換する。でも、この変換が曖昧・・・。3.1.1は、id は文字か_出始めろと書いているけど、6.1.2 ではprefixされると言っている。javadocでもprefixed by と言っているので、RenderResponse#getNamespace()を前に置くというようにととれる。でも、そうすると、3.1.1を壊す場合もあり得る。ということで、MyFacesでは、後ろに置くようにしている(元々前だったと思うが変更している)。Teeda もそれに従って、後ろに置いている。だが、Sunの実装は、前だ(っていうか、Sunの実装は1年前のだしな・・・古い)。3.1.1と6.1.2のどちらを優先すべきかは難しいけど、個人的意見としては、3.1.1を優先した方がいいかと思うので、Teedaではそのままにしておこう(MyFacesがこれでTCK通っているので、たぶん、そのままでも影響はないと思うし、Stan は JSF のスペックの話に加わっていると思うからそれでも大丈夫だろう・・・と思う)。

http://marc2.theaimsgroup.com/?l=myfaces-dev&m=114123084404303&w=2