0

私は春のmvcを使用しています。1 つのドロップダウン X は列挙型に基づいています。ドロップダウン X に基づいてドロップダウン Y リストを変更したいのですが、2 番目のドロップダウン Y はどうすればよいですか? enum を使用する必要がありますか? リストは頻繁には変更されないため、データベースを使用する予定はありません。良い習慣を知りたいです。

列挙型を使用しても。この変数がこのリストを生成するように定義するにはどうすればよいですか。

4

1 に答える 1

1

私の実践では、この種のシナリオを使用しました。Y リストも列挙型として定義できます。列挙型はクラスである原因 列挙型定数間に依存関係の動作を実装できます。これは、それらの間にどのような関係があるか (つまり、1 対多、多対多、...) に応じて異なります。特定の X 定数を初期化するには、 X コンストラクターによる Y 定数リスト。

たとえば、多対多の関係では、次の戦略を使用できます

enum X{
    A("1", "A", Y.D, Y.E),
    B("2", "B", Y.D, Y.F),
    C("3", "C", Y.D, Y.E, Y.F);

    private String id;
    private String name;
    private List<Y> dependencies = new ArrayList<Y>();

    private X(String id, String name, Y... dependencies){
        this.id = id;
        this.name = name;

        for(Y dep : dependencies){
            this.dependencies.add(dep);
        }
    }

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public List<Y> getDependencies(){
        return Collections.unmodifiableList(dependencies);
    }
}

enum Y{
    D(),
    E(),
    F();

    private Y(){}
}
于 2013-02-23T08:14:40.760 に答える