2

我想创建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>

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

默认页面显示

编辑 日课:-

public class Day{

  private String name;
  private String value;

  //getters and setters

}
4

2 回答 2

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;
    }

.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>

祝你好运!

于 2013-02-12T08:13:30.340 回答
2

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

于 2013-02-12T08:08:52.970 回答