ウィケットに次のコードがあると仮定します
TextField foo = ...;
TextField bar = ...;
bar.add(new AjaxEventBehavior("change") {
@Override
protected void onEvent(AjaxRequestTarget target) {
// do something
}
});
さらに、foo と bar が、Model として CompoundPropertyModel を持つフォーム「dummyForm」のメンバーであると仮定します。「foo」フィールドの初期値は「Max」です。
ここで、Wicket-Tester を使用して簡単なテストを作成します。
formtester.setValue("foo", "Petra");
wickettester.executeBehavior(...); // execute behaviour on field bar
wickettester.getRequest().getPostParameters();
wickettester.getComponentFromLastRenderedPage("foo").getDefaultModelObjectAsString();
このテストを実行すると、最初の行でポスト パラメータ ("foo"、"Petra") がモック リクエストに追加されます。2 番目のステートメントの動作は formsubmit-behaviour ではないため、CompoundPropertyModel は更新されません。したがって、4 行目では、foo のモデル値は「Petra」ではなく「Max」のままです。ビヘイビアーの処理後にポストパラメーターがクリアされたことに気付いたので、テストの 3 行目でもパラメーターの空のリストが表示されます。
それでは、私の質問:フォームを送信しないリクエスト間でリクエストパラメータを「安全に」するための推奨される方法は何ですか?
ご回答ありがとうございます