AjaxEventBehavior behavior = new AjaxEventBehavior("keyup"){
@Override
protected void onEvent(AjaxRequestTarget target) {
System.out.println("Hello world!");
}
};
form.add(behavior);
Wicketの以前のバージョンでは、次のように実行できました。
behavior.setThrottleDelay(Duration.ONE_SECOND);
しかし、バージョン6.1以降、この機会はなくなりました。また、Webには、すべて.setThrottleDelay()メソッドを含む以前のバージョンのチュートリアルがたくさんあります。
基本的に、目標は、人がフォームへの入力を停止したときの動作を呼び出すことです。現在、キーが起動するたびに、基本的にサーバー側にスパムを送信する動作を呼び出します。だから遅らせたい。背景:私は現在、データベースにクエリを作成し、フォーム入力に類似したデータを取得しようとしています。そして、その人がタイプしているときのすべて。ただし、サーバー側/ SQLを「攻撃範囲」から外すには、目標に遅延が必要になります。
また、私は代替案を受け入れています。