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

sam*_*hna 2 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>
Run Code Online (Sandbox Code Playgroud)

当页面加载并且用户还没有做任何事情时,它应该看起来像这样。

默认页面显示

编辑 日课:-

public class Day{

  private String name;
  private String value;

  //getters and setters

}
Run Code Online (Sandbox Code Playgroud)

gok*_*ari 7

selectCheckboxMenu 组件的 Value 属性应该获得您的默认值。在 bean 方面,您应该为selectedDayList和 all 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;
    }
Run Code Online (Sandbox Code Playgroud)

.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>
Run Code Online (Sandbox Code Playgroud)

祝你好运!