이 같은 뭔가 그룹화 된 선택 작업을 시도했다 :JSF 2 : 선택 SelectItemGroup + POJO로 그룹화
<h:selectOneMenu value="#{selectionLabBean.oneSelectMenuGroup}"
id="SelectOneMenuGroup" >
<f:selectItems value="#{selectionLabBean.heroGroupList}" />
</h:selectOneMenu>
<p:message for="SelectOneMenuGroup" />
heroGroupList이 같은 것입니다 :
SelectItem[] heroArr = new SelectItem[] {
new SelectItem("Paladin"),
...
};
heroListWithGrouping.add(
new SelectItemGroup("Human",
"A collection of human race Heroes",
false,
heroArr
)
);
.....
그리고 내가 ' 내가 SelectItem 객체 대신 POJO를 사용하여 이러한 종류의 그룹화를 할 수 있는지 궁금합니다.
내가 이것을 달성 할 수 없다면, 어떻게 든 내 도메인 개체 또는 내 쿼리 결과를 SelectItem 배열로 변환하여 작동하도록해야한다고 생각합니다.
아이디어가 있으십니까?
결론적으로 그룹화 된 선택을 사용하려면 POJO를 List으로 변환해야합니다. 그러나 우리는 여전히 POJO를 변환기가있는 itemValue로 사용할 수 있습니다. 쿠오 룩! BalusC에 감사드립니다. –
bertie
히어로 유형에 바인딩하려고했지만 오류로 인해 실패했습니다. SelectOneMenuGroup : 유효성 검사 오류 : 값이 유효하지 않습니다. 유효성 검사를 전혀 사용하지 않아 이상합니다. .. 그리고 managedbean에서 바인딩은 다음과 같습니다. private HeroBean oneSelectMenuGroupPojo; 나는 그것을 디버깅했고 proggie doesnt가 바인딩 값을 설정한다는 것을 알았다. var = "hero"itemValue = "# {hero}"itemLabel = "# {hero.name}"시도했지만 실패했습니다. –
bertie
선택한 항목이 목록의 항목 중 하나와 일치하지 않을 때마다 'equals()'메소드를 사용하여이 작업을 수행 할 수 있습니다. 'equals()'메소드가 구현되지 않았거나 제대로 구현되지 않았을 가능성이 있습니다. – BalusC