0
나는 JSF의 초보자이며 List
에 요소가 두 개 이상있는 경우 드롭 다운을 표시하려고합니다. 단일 요소가있는 List
인 경우 outputText
을 표시하고 싶습니다. 여기 내 xhtml
JSF - 목록 크기에 따라 입력 유형을 변경하는 방법
<lp:repeat value="#{addBean.donation.instruments.checks}" var="check">
<tr>
<td>
<ui:fragment rendered="#{addBean.checkTypes.size == 1}">
<h:selectOneMenu value="#{check.checkType}">
<f:selectItems value="#{addBean.checkTypes}"/>
</h:selectOneMenu>
</ui:fragment>
<ui:fragment rendered="#{addBean.checkTypes.size > 1}">
<h:outputText value="#{addBean.checkTypes.get(0).label}"></h:outputText>
</ui:fragment>
</td>
</tr>
</lp:repeat>
checkTypes
이 SelectItem
의 List
입니다. checkTypes
에 의해 채워지는 드롭 다운이 표시되고 하나를 선택하면 맨 위에 선언 된 check
변수에 푸시됩니다. List
에 요소가 하나만있는 경우 label
이 outputText
에 표시됩니다. 그런 일이 생기면 그 값을 check
변수에 바인딩하는 방법을 알 수 없습니다. 누군가가 올바른 방향으로 나를 가리켜 주시겠습니까? 아니면이 패턴을 구현하는 더 좋은 방법이 있습니까?
'check.checkType'과'outputLabel'은 그렇게하지 않습니다. 그냥 페이지에 출력합니다. – jhamm