2013-02-12 2 views
2

관련 빈 객체로부터 얻을 수있는 항목을 list와 selectCheckboxMenu으로 만들고 싶습니다. 비 선택된 목록의 경우 잘 작동합니다. 그러나이 목록에 기본적으로 선택된 항목을 어떻게 제공 할 수 있습니까? 내 현재 selectCheckboxMenu 코드는 다음과 같습니다.selectOneRadio/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

편집 일 등급 : -

공용 클래스의 날 {

private String name; 
private String value; 

// getter 및 setter

}

+0

'selectedDay' 속성의 유형은 무엇입니까? – partlov

답변

3

selectCheckboxMenu 구성 요소의 값 특성이 기본값을 가져야합니다. 빈 사이드에서 selectedDayList 및 모두 일 목록에 대한 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> 

행운을 비네!

+0

오, 정말 그리워. 고마워. 미안. – sampathpremarathna

+1

설명은 좋지만 코드가 잘못된 위치에 있습니다. getter 메소드에 비즈니스 로직을 넣으면 안됩니다! bean (post) 생성자를 사용하십시오. – BalusC

+0

나는 그것을 더 길게 만들고 싶지 않았지만 마침내 당신이 옳았다. 내가 고칠거야. 감사. – GkhnSr

2

init 메소드 (@PostConstruct annotation)의 selectedDay 목록 (또는 배열)에 기본값을 추가하기 만하면됩니다. 이 값은 해당 itemValue 속성과 동일한 값을 가져야합니다 (이 경우 day.value).

관련 문제