2013-02-23 3 views
0

Я использую весенний mvc. Один раскрывающийся список X основан на перечислении. Я хочу изменить раскрывающийся список Y на основе раскрывающегося списка X. Что мне нужно сделать для второго раскрывающегося списка Y. Должен ли я использовать перечисление? Список не будет меняться очень часто, поэтому я не планирую использовать базу данных. Я хочу знать хорошую практику.выпадающие изменения в зависимости от другого выпадающего списка

Даже если я использую перечисление. Как определить, что эта переменная должна создавать этот список.

ответ

1

В моей практике я использовал такой сценарий. Вы можете определить список Y также перечисление. Cause перечисления являются классами. Вы можете реализовать поведение зависимостей между константами перечисления, в зависимости от того, какие отношения между ними существуют (я имею в виду один-ко-многим, многие-ко-многим, ...). Вы можете инициализировать конкретную константу X, предоставляя Список констант Y через X-конструктор.

Например во многих-ко-многим, можно использовать следующую стратегию

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(){} 
} 
+0

вы можете показать мне пример, пожалуйста – user510783

+0

я редактировал пост, Вы можете следовать этой стратегии –

Смежные вопросы