[Wicket-ja-user 217] AjaxLinkについて

Back to archive index

古川 烈 r_f_315****@hotma*****
2008年 9月 2日 (火) 12:48:28 JST


古川です、
先の「Fragment」の件とは全然関係が無いのですが、
気になる挙動があったので報告です。

Wicketのバージョンは1.3.4です。

DIVに設定できるようなWebMarkupContainerを二個作成し、
Panelを継承したクラスを2個作成します。
作成されたPanelの要素としてAjaxLinkを作成し、
Panel同士は相互参照できるように、お互いの参照を保持します。

この状態でAjaxLinkの

@Override
public void onClick( AjaxRequestTarget arg0 ) {
}

で自身と参照相手のsetVisible()を行い、片方が表示されているときは、片方は非表示の状態を作ろうとしました。
画面を構成する全ての要素において、

                setOutputMarkupId( true );
                setOutputMarkupPlaceholderTag( true );

し、IDは出力状態にあります。
arg0.addComponent();にもページ全体を覆うコンテナを設定しましたが、
イベントを発生させたコンポーネント自体の再描画は発生しますが、
参照側のコンポーネントの再描画が行われませんでした。
デバッガで見ると、setVisible後のisVisibleはしっかり切り替わっていました。
どうも片方の再描画の通知が行われていないように思います。

これをAjaxリンクではなく、ImageなどにAjaxEventBehavior("onmousedown")を追記して、
ハンドラ内でまったく同じコードを記述すると両方再描画が発生します。
この挙動の違いがバグなのかどうかの判断がつきませんでした。

以上です。 
(考慮が漏れている点や、勘違いがあれば指摘していただけると幸いです。)





_________________________________________________________________
多くのHotmailユーザが使っているのには理由がある。試してみませんか?
http://campaign.live.jp/hmim/top/
-------------- next part --------------
HTMLの添付ファイルを保管しました...
Download 


Wicket-ja-user メーリングリストの案内
Back to archive index