アプリケーションを開発していて、「新しいレコードが追加、削除、または更新されました」などの情報メッセージをフロントエンド Web ページに表示したいと考えています。数秒 (10 ~ 15 秒) 後にメッセージを消したいです。
どのようにアプローチするのですか?アプリケーションは Apache Wicket1.5 で開発されています。
前もって感謝します。
アプリケーションを開発していて、「新しいレコードが追加、削除、または更新されました」などの情報メッセージをフロントエンド Web ページに表示したいと考えています。数秒 (10 ~ 15 秒) 後にメッセージを消したいです。
どのようにアプローチするのですか?アプリケーションは Apache Wicket1.5 で開発されています。
前もって感謝します。
[編集]: これは Wicket 1.6 用です。Wicket 1.5 は少しトリッキーです。後で調べます。
これには Wicket コンポーネントを作成することをお勧めします。コンポーネントをレンダリングする必要がある場合は、Jquery JavaScript を追加します。
http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/markup/head/OnDomReadyHeaderItem.htmlを使用できます
@Override
public void renderHead(IHeaderResponse response) {
response.render(OnDomReadyHeaderItem.forScript(yourMethod(..., component.getMarkupId())));
}
Wicket 1.5 も同様のアプローチを提供していると思います
純粋なウィケット アプローチの場合、AjaxSelfUpdatingTimerBehaviorをアタッチできます。メソッドでは、メッセージを非表示に設定し、タイマーonTimer
を設定できます。stop()
もう 1 つの方法は、これを JavaScript で実装することです。
応答を見る前に、簡単なトリックを行いました。
主な要件は、情報メッセージを短時間表示することです。だから私は使った
pr.getPage().info("Records details are updated successfully!");
setResponsePage(pr.getPage());
pr は、前のページから渡された PageReference オブジェクトです。
メッセージは次のページの FeedbackPanel に表示され、タイマーを使用して 10 秒後にページをリロードしました。したがって、メッセージは消えます。