Позвольте JSF установить выбранные элементы значения selectManyListbox как List или Collection вместо массива

Есть ли способ получить выбранные элементы из selectManyListbox в виде списка или коллекции? После отправки выбранные элементы всегда поступают в виде массивов.

2 ответа

Установить collectionType атрибут FQN требуемой реализации коллекции.

Например, если вы хотите, чтобы JSF установил выбранные элементы в экземпляре java.util.ArrayList:

<h:selectManyListbox ... collectionType="java.util.ArrayList">

Да, одной из альтернатив будет создание метода в вашем компоненте поддержки для возврата переменной массива в виде List

 public java.util. List<String> getItemAsList(){
  return java.util.Arrays.asList(this.item);
    }

В случае, если вам нужно вывести элементы, вы можете использовать ui:repeat (например, вы используете Facelets)

  <ui:repeat value="#{yourBean.itemAsList}" var="item">
    #{item}
  </ui:repeat>
Другие вопросы по тегам