Создание флажков JSF - PullRequest
       29

Создание флажков JSF

0 голосов
/ 17 января 2012

У меня есть список с множественным выбором, и в зависимости от того, сколько элементов выберет пользователь, я должен показать одинаковое количество флажков.Я использую jsf и primefaces / spring webflow.Как я могу это сделать?Есть примеры?И я должен сделать один флажок, который позволяет проверить все сгенерированные флажки одним щелчком мыши.

1 Ответ

1 голос
/ 17 января 2012

У меня есть список с несколькими выборками

Таким образом, <h:selectManyListbox> с фиксированным значением <f:selectItems>.

<h:selectManyListbox id="listbox" value="#{bean.selectedListboxItems}">
    <f:selectItems value="#{bean.availableListboxItems}" />
</h:selectManyListbox>

С чем-то вроде:

private List<String> availableListboxItems;
private List<String> selectedListboxItems;

@PostConstruct
public void init() {
    availableListboxItems = new ArrayList<String>();
    availableListboxItems.add("menu item 1");
    availableListboxItems.add("menu item 2");
    availableListboxItems.add("menu item 3");
}

и в зависимости от того, сколько элементов выберет пользователь, я должен показать одинаковое количество флажков

Таким образом, просто предварительно заполните <f:selectItems> из <h:selectManyCheckbox> на основе значения <h:selectManyListbox>.

<h:commandButton value="Generate checkboxes">
    <f:ajax execute="listbox" listener="#{bean.generateCheckboxes}" render="checkboxes" />
</h:commandButton>
<h:selectManyCheckbox id="checkboxes" value="#{bean.selectedCheckboxItems}">
    <f:selectItems value="#{bean.availableCheckboxItems}" />
</h:selectManyCheckbox>

с чем-то вроде

private List<String> availableCheckboxItems;
private List<String> selectedCheckboxItems;

public void generateCheckboxes() {
    availableCheckboxItems = new ArrayList<String>();

    for (int i = 1; i <= selectedListboxItems.size(); i++) {
        availableCheckboxItems.add("checkbox item " + i);
    }
}

Я использую jsf и primefaces / spring webflow. Как я могу это сделать? Есть примеры?

Я считаю, что приведенных выше тривиальных примеров достаточно. Для PrimeFaces просто замените <h:xxx> на <p:xxx>. Однако я понятия не имею, как Spring Webflow играет в этом роль, поскольку я никогда не использовал его.


И мне нужно сделать один флажок, который позволит проверять все сгенерированные флажки одним щелчком мыши.

Это оставлено для тебя как упражнение. Подсказка: убедитесь, что availableCheckboxItems содержит требуемые значения в зависимости от текущего значения <h:selectBooleanCheckbox>, которое должно представлять «переключение выбранных элементов».

...