Как установить значение по умолчанию для нескольких флажков в Struts 2

Как установить значение по умолчанию для нескольких флажков в Struts 2

В Struts 2 вы можете создать несколько флажков с одним и тем же именем с помощью тега<s:checkboxlist>. Сложность состоит в том, как установить значение по умолчанию в нескольких флажках. Например, список флажков с опциями «красный», «желтый», «синий», «зеленый», и вы хотите установить «красный» и «зеленый» в качестве значений по умолчанию.

1. Пример

Пример<s:checkboxlist>

В результате следующий HTML-код













Класс действия для предоставления списка опций цвета для флажков.

//...
public class CheckBoxListAction extends ActionSupport{

    private List colors;
    private String yourColor;

    public CheckBoxListAction(){

        colors = new ArrayList();
        colors.add("red");
        colors.add("yellow");
        colors.add("blue");
        colors.add("green");
    }

    public List getColors() {
        return colors;
    }
    //...
}

2. Одно значение по умолчанию

Чтобы установить параметр «red» в качестве проверенного значения по умолчанию, просто добавьте метод в класс Action и верните значение «red».

//...
public class CheckBoxListAction extends ActionSupport{

    //add a new method
    public String getDefaultColor(){
        return "red";
    }
}

В<s:checkboxlist> tag добавьте атрибут значения и укажите на методgetDefaultColor().

Struts 2 достаточно умен, чтобы сопоставить значение «defaultColor» с соответствующим свойством JavagetDefaultColor().

Запустите его снова, опция «красный» будет включена по умолчанию.

2. Несколько проверенных значений по умолчанию

Чтобы установить несколько значений «red» и «green» в качестве проверенного значения по умолчанию, просто верните «String []» вместо «String», Struts 2 будет соответствовать ему соответственно.

//...
public class CheckBoxListAction extends ActionSupport{

    //now return a String[]
    public String[] getDefaultColor(){
        return new String [] {"red", "green"};
    }
}

Запустите его еще раз, параметры «red» и «green» будут отмечены по умолчанию.