0

我正在使用spring mvc。一个下拉 X 基于枚举。我想根据下拉 X 更改下拉 Y 列表。我应该为第二个下拉 Y 做什么。我应该使用枚举吗?该列表不会经常更改,因此我不打算使用数据库。我想知道好的做法。

即使我使用枚举。我如何定义这个变量应该产生这个列表。

4

1 回答 1

1

在我的实践中,我使用了这种场景。您可以定义 Y 列表也可以是一个枚举。因为枚举是类您可以在枚举常量之间实现依赖行为,具体取决于它们之间的关系(我的意思是一对多,多对多,...),您可以通过提供初始化特定的 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 回答