VwpFAQDropdownNavigationJa
ドロップダウンリスト: ほかのページへナビゲートするドロップダウンリストの使い方を教えてください。
1. 「ドロップダウンリスト」コンポーネントを右クリックし、「変更時に自動送信」を選択します。
2. ページナビゲーションエディタを使用して、ドロップダウンリストを持つページから別のページへのリンクを作成します。以降の手順は、3 つのリンク (case1、case2、case3) があるとして記述されています。
3. ページナビゲーションエディタを閉じて、ドロップダウンリストコンポーネントを持つページのビジュアルデザイナーに戻ります。ドロップダウンリストコンポーネントを右クリックし、「デフォルトオプションを設定」を選択します。(リスト項目をプログラムで設定する方法については、チュートリアル「コンポーネント」を参照してください。)
4. 各項目の値にページナビゲーションエディタで追加したリンク名 (case1、case2、case3) を 1 つずつ設定します。
5. ビジュアルデザイナーで、ドロップダウンリストコンポーネントをダブルクリックします。Java ソースエディタに、ドロップダウンリストの processValueChange イベントハンドラが開きます。
6. そのメソッドを次のコードのように変更します (コンポーネント id は、実際のコンポーネントに合わせてください)。
public void dropDown1_processValueChange(ValueChangeEvent event) { Application application = getApplication(); NavigationHandler navigator = application.getNavigationHandler(); FacesContext facesContext = getFacesContext(); try { navigator.handleNavigation(facesContext, null,(String) getDropDown1().getSelected()); } catch (Exception e) { log("can't navigate to " + (String) getDropDown1().getSelected()); } }
7. インポートを修正します。
8. 実行してテストします。ページが最初に表示されたときに、一番目の項目を選択しても processValueChange が呼び出されないことを確認します。これを修正する 1 つの方法は、一番目の項目の表示と値を別の値に変更することです。たとえば、表示を「1 を選択」 にして、その値を「none」に設定します。それから、processValueChange メソッド本体を次のような if 文でラップします。
if (!"none".equals(getDropDown1().getSelected()))
- 日本語訳 : Yuko Ohsumi
- 英文 (翻訳したバージョン: 1)
- 日本語 NetBeans Visual Web Pack ユーザー FAQ へ戻る