【问题标题】:Preselect items in h:selectManyCheckbox预选 h:selectManyCheckbox 中的项目
【发布时间】:2011-07-11 12:50:06
【问题描述】:

如何预选h:selectManyCheckbox 组件中的元素?我已经搜索了f:selectItem 标签的属性,但还没有找到如何预先选择这个项目(即在调用站点时它已经被勾选了)。

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    h:selectManyCheckboxvalue 属性可以接受来自托管 bean 的字符串数组。你可以在托管bean初始化的时候直接给这个数组设置默认值。

    例如,在视图中:

    <h:selectManyCheckbox value="#{MBean.choice}">
        <f:selectItem itemValue="A" itemLabel="Choice A" />
        <f:selectItem itemValue="B" itemLabel="Choice B" />
        <f:selectItem itemValue="C" itemLabel="Choice C"/>
        <f:selectItem itemValue="D" itemLabel="Choice D" />
    </h:selectManyCheckbox>
    

    然后在 MBean 中:

    public class MBean{
    
        //Preselect the "Choice A" and "Choice C" 
        private String[] choice= {"A","C"};
    
        //Getter and setter of choice
    
    }
    

    【讨论】:

    • List&lt;T&gt; 顺便也支持一下。
    • 感谢您的回答。我一直在寻找类似SELECTED 属性的东西,但果然,这是实现这一目标的方法。我没有看到森林,被所有的树木蒙蔽了双眼。
    【解决方案2】:

    添加到您的后备列表或数组对象,当比较等于您要预选的 SelectItems 的值时返回 true。

    【讨论】:

      猜你喜欢
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多