7

さまざまな Wicket パネルの再描画をトリガーする Ajax イベントがあります。一部のパネルには、onBeforeRender() メソッド内に独自の追加の計算があります。エラーがあればユーザーに表示したい。しかし、再描画されているパネル内ではもうアクセスできないため、FeedbackPanel を AjaxRequestTarget に追加することはできません。

Wicket コンポーネントの onBeforeRender() 内で AjaxRequestTarget を取得する方法はありますか? 最初のコンポーネントがすでに onBeforeRender() 状態になっている場合、追加のコンポーネントを Ajax ターゲットに追加することさえ可能ですか?

再描画が必要なパネルだけがエラーがあるかどうかを判断できる場合、FeedbackPanel を Ajax ターゲットに追加するより良い方法はありますか?

4

1 に答える 1

10

を取得するにAjaxTargetは、次のようにします。

AjaxRequestTarget target = requestCycle.find(AjaxRequestTarget.class);

残念ながら、予想どおり、レンダリング段階に入るとコンポーネントをターゲットに追加できません。しかし、Wicket はITargetRespondListenerメソッドとのインターフェースを提供しますonTargetRespond(AjaxRequestTarget target)。ここで、必要なものをターゲットに追加できます。

于 2013-10-08T13:58:10.070 に答える