JSF 2 и JavaScript - отправка большого количества элементов <h: selectOneMenu /> без такого большого количества установщиков - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть форма с около 90 пунктов.Есть ли способ собрать сгенерированные значения, не имея так много сеттеров на стороне сервера?я не могу разобрать список / массив / объект, который я генерирую с помощью JavaScript?Это очень мне поможет.

Большое спасибо, Мартейн

1 Ответ

0 голосов
/ 13 апреля 2011

Создать свойство Map.

@ManagedBean
@ViewScoped
public class Bean {

    private Map<String, String> selectedItems = new HashMap<String, String>();

    public Map<String, String> getSelectedItems() {
        return selectedItems;
    }

    // ...
}

Который можно использовать как

<h:selectOneMenu value="#{bean.selectedItems.one}">
    ...
</h:selectOneMenu>

или

<h:selectOneMenu value="#{bean.selectedItems['one']}">
    ...
</h:selectOneMenu>

Здесь one становится ключом карты, а выбранный элемент становится значением карты.

(да, установщик не требуется!)


Обновление альтернативой является <h:dataTable> с <h:selectOneMenu> в столбце. Таким образом, вы можете просто использовать один List<Item> геттер (один сеттер не требуется). См. Также ответ по на этот вопрос для примера.

...