【问题标题】:Let JSF set selected items of selectManyListbox value as List or Collection instead of array让 JSF 将 selectManyListbox 值的选定项设置为 List 或 Collection 而不是数组
【发布时间】:2015-07-22 14:53:53
【问题描述】:

有没有办法从 selectManyListbox 中获取选定的项目作为列表或集合?提交后选择的项目总是以数组的形式出现。

【问题讨论】:

    标签: jsf jsf-2 collections selectmanylistbox


    【解决方案1】:

    collectionType 属性设置为所需集合实现的 FQN。

    例如如果您希望 JSF 在 java.util.ArrayList 的实例中设置所选项目:

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

    【讨论】:

      【解决方案2】:

      是的,一种替代方法是在您的支持 bean 中创建一个方法以将数组变量作为列表返回

       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>
      

      【讨论】:

      • 如果我需要将选定的值绑定到一个集合怎么办?提到的替代方案正是我要避免的。
      • 另一种方法意味着这是您可以将数组的值作为列表检索的一些方法之一,并且所选值已经通过列表绑定。通过返回方法
      猜你喜欢
      • 2012-12-01
      • 1970-01-01
      • 2015-08-24
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多