Ken-ichi Ishii
ishii****@pfu*****
2010年 2月 4日 (木) 09:14:55 JST
石井です。 少し動きを追ってみました。 WICKET-2312の本質は、RequestUtils.toAbsolutePath()内で呼ばれる req.getRequestURL()の値が、通常リクエストとAjaxリクエストの時で 異なる(Ajaxの場合はBookmarkで設定したパスが含まれない)のに、 RequestCycle.urlFor(の先のWebRequestCodingStrategy.encode)側で 対処してしまったために、今回のような不整合が発生しているのかと 思います。 RequestUtils.toAbsolutePath()側で、RequestCycle.get().getRequest() .isAjax()がtrueなら、relativePagePathに含まれる"../"をすべて除去 してrequestPathと結合するという実装で、WICKET-2312は対応できそう な気がしますが... 語学力に乏しいので、バグレポートへの報告よろしくお願い致します。 >矢野様 # 当方のPrjについては1.4.3で問題なく動作しているので当面の影響は # ないのですが、そのうち新しい版に入れ替えたいと思っていますので... よろしくお願い致します。 (2010/02/03 23:45), Tsutomu Yano wrote: > 矢野です。 > > 1.4.6はまだ使ってないので気がついてませんでした。 > 内容を見る限りバグのようですよね。英語MLを見ても該当事象は報告されてないようでした。 > > 確認した上で,バグレポートに報告しようと思います。 > > > 現状,問題がないのであれば,1.4.5以前を使って回避することになりそうですねこれは... > > > > On 2010/02/03, at 16:38, Ken-ichi Ishii wrote: > >> 石井です。 >> >> (2010/02/03 11:47), Ken-ichi Ishii wrote: >>> wicket1.4.3で動いていたものがwicket1.4.6で動きが変わってしまった >>> ものがあるのでご報告(ご相談)させて頂きたいと思います。 >> >> 本件についてdebugモードでWicket内部処理を追ってみたところ、1.4.6で >> 修正されたWICKET-2312により、WebRequestCodingStrategy#encode()にて、 >> WebRequestがajaxではない場合は、371行目以下の処理を通って、先の例 >> の場合"hello/work"という値が"../hello/work"になって返されるのですが、 >> ajaxの場合は、skipRelativePathPrefix が true のため、367行目を通り、 >> "hello/work"のまま返されるようです。 >> この影響で、AjaxLazyLoadPanelだけでなく、Ajax系コンポーネント >> (getWebRequest().isAjax()がtrueになるもの) のリクエストに対する >> BookmarkablePageLink のURLが、Wicket-ja-user 415の増田さんのメール >> にもあるように、階層が1つズレたURLになってしまうのではないかと推測 >> します。 >> >> WICKET-2312の問題もあるので単純な修正にはならなさそうなので、修正ま >> では試みておりません... >> >> よろしくお願い致します。 >> -- >> 石井 健一 E-mail / ishii****@pfu***** >> >> _______________________________________________ >> Wicket-ja-user mailing list >> Wicke****@lists***** >> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > > --------------------------------------------------- > 矢野 勉(やの つとむ) > 電子メール: t_yano****@me***** > --------------------------------------------------- > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user > -- 石井 健一 E-mail / ishii****@pfu*****