ボタンをクリックした後にインターバルを開始しようとしています。ボタンをクリックした後の開始間隔
button = form.add(new AjaxButton("button") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
AjaxSelfUpdatingTimerBehavior ajaxSelfUpdatingTimerBehavior = new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5)) {
private static final long serialVersionUID = 1L;
@Override
protected void onPostProcessTarget(AjaxRequestTarget target) {
logger.debug("onPostProcessTarget");
}
};
this.add(ajaxSelfUpdatingTimerBehavior);
}
});
});
ボタンのクリック後、以前のAjaxSelfUpdatingTimerBehaviorが開始されません。どうすればそれを始めることができますか?
奇妙なことは、私は前のブロックの後に
button.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(5)) {
private static final long serialVersionUID = 1L;
@Override
protected void onPostProcessTarget(AjaxRequestTarget target) {
logger.debug("onPostProcessTarget2");
}
});
をこのような新しいものを追加した場合、それらの両方が開始されます。しかし、最後の1つは私が欲しくないドームを更新します。
ボタンクリック後にどのようにしてインターバルを開始できますか? (最初のコードスニペットと同様)
あなたは私が削除した場合、 '(ajaxSelfUpdatingTimerBehavior)this.addことを言っている;)'と '(button.add;'それは意志再レンダリングしない? – user3960875
'button.add(secondBehavior)'を削除しても再描画されません。 2番目の振る舞いは 'AjaxButton'で行われた変更をページに伝えるものです。 – WiseTree