如何在primefaces中的bean中在selectOneRadio / selectCheckboxMenu中设置默认选定项

时间:2013-02-12 07:39:13

标签: jsf primefaces

我想创建selectOneRadio列表和selectCheckboxMenu哪些项从相关的bean对象获取。 对于非选择列表,它运行良好。但我如何提供这些列表与默认选择的一些项目。 我当前的selectCheckboxMenu代码是这样的。

<p:selectCheckboxMenu id="trdays" 
             value="#{mybean.selectedDay}"
             label="Select Days">
      <f:selectItems value="#{mybean.dayList}" var="day"
       itemValue="#{day.value}" itemLabel="#{day.name}"/>
</p:selectCheckboxMenu>

当页面加载和用户还没有做任何事情时,它应该是这样的。

default page display

修改 日级: -

public class Day{

  private String name;
  private String value;

  //getters and setters

}

2 个答案:

答案 0 :(得分:4)

selectCheckboxMenu组件的value属性应该获取您的默认值。 在bean方面,你应该为 selectedDayList 和所有 daylist 编写一个getter。

示例:

@PostConstruct
public void init() {
            dayList= new ArrayList<String>();
            dayList.add("Mon");
            dayList.add("Tue");
            dayList.add("Wed");
            dayList.add("Thu");
            dayList.add("Fri");
            dayList.add("Sat");
            dayList.add("Sun");

            selectedDayList= new ArrayList<String>();
            selectedDayList.add("Tue");
            selectedDayList.add("Wed");
}


public List<String> getDayList()
    {
        return dayList;
    }

public List<String> getSelectedDaylist()
    {
        return selectedDayList;
    }

.xhtml页面应该是这样的。

<p:selectCheckboxMenu id="trdays" 
             value="#{mybean.selectedDaylist}"
             label="Select Days">
      <f:selectItems value="#{mybean.dayList}" var="day"
       itemValue="#{day.value}" itemLabel="#{day.name}"/>
</p:selectCheckboxMenu>

祝你好运!

答案 1 :(得分:2)

只需在init方法的selectedDay列表(或数组)中添加默认值(带@PostConstruct注释)。这些值应与对应的itemValue属性具有相同的值(在您的情况下,这是day.value)。