2

カスタムコントロールを作成し、タグライブラリに追加しました。

このコントロールは、2つのselectonemenuを表示します。2番目のメニューは最初のメニューに依存し、データベースのデータからajaxを介して更新されます。

現在、2番目のデータ選択にはビュースコープのBeanを使用しています。しかし、可能性のある複数のインスタンスに対して1つのBeanがあるため、このソリューションには本当に満足していません。

asp.netには、制御関連データを保存するための制御状態があります。似たようなものはありますか?

または、選択時にデータベースからデータを再度取得するコンバーターでリクエストスコープのBeanを使用することもできます。

4

1 に答える 1

1

Component Stateを拡張するクラスについて話すとき、同等のものが呼び出されUIComponentます。

@Override
public Object saveState(FacesContext context) {
    Object values[] = new Object[2];
    values[0] = super.saveState(context);
    values[1] = label;
    return ((Object) (values));
}

@Override
public void restoreState(FacesContext context, Object state) {
    Object values[] = (Object[])state;
    super.restoreState(context, values[0]);
    label = (String)values[1];
}

上記は、UIComponentのポストバック間でコンポーネントプロパティを永続化する方法の例です。次の2つの方法を拡張するだけです。

于 2012-10-03T17:57:42.593 に答える