私は Wicket アプリケーションを開発しています。しかし、私の質問は実際には Wicket 関連ではありません。そのアプリには、水平メニューがあります。このメニューは、いくつかのリンクで作成されています。リンクをクリックすると、いくつかのページに移動します。現在表示しているページに基づいて、メニューのリンクの css クラス属性が「選択済み」に変更されます。これが問題の説明です。
現在、整数値を使用してこの問題を解決しています。値はセッションに保存され、いずれかのリンクがクリックされると更新されます。その保存された値に基づいて、どのリンクが「選択」されるかが実行時に決定されます。
これを次の方法で実装しています。
//On link click I set a number in session
public void onClick() {
session.setValue(1);// or 2 or 3
}
メニューが作成されたら、次のように値を切り替えて css クラスを変更します。
switch(session.getValue){
case 1: add css to home;
case 2: add css to profile;
// and so on.
}
これが唯一の正しい方法だと思っていましたか?または、これをより良い方法で達成するのに役立つ他の優れた手法や設計パターンが存在しますか?