Позвольте 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>