문제
포틀릿과 JPS를 개발하는 데 사용되므로 딜레마가 있습니다.
작업 : 디스플레이 <h:dataTable>
목록이 비어 있지 않은 경우에만
제공 할 수 있습니까? <c:if>
JSF 페이지에 대한 태그?
해결책
예, JSF 페이지에서 JSTL 태그를 추가 할 수 있습니다. 그러나 귀하의 경우에는 다음을 수행 할 수 있습니다.
<h:dataTable value="#{myBean.list}"... rendered="#{myBean.displayTable}">
...
</h:dataTable>
다음 방법으로 myBean
:
public boolean isDisplayTable() {
return list != null && list.size() > 0;
}
당신은 또한 그것을 시도 할 수 있습니다 (그것이 작동하는지 확실하지 않음) :
<!-- Idea from Colin Gislason -->
<h:dataTable value="#{myBean.list}"... rendered="#{not empty myBean.list}">
...
</h:dataTable>
<h:dataTable value="#{myBean.list}"... rendered="#{not myBean.list.empty}">
...
</h:dataTable>
당신은 당신이 사용할 수 있습니다 !
대신 not
EL 표현식의 키워드 (안내서 참조 여기 El Expressions에 대해) rendered="#{!empty myBean.list}"
.
다른 팁
<c:if>
(및 다른 JSTL 태그)는 대부분의 경우 JSF에서 사용할 수 있습니다. 그러나 컬렉션에서 반복하는 구성 요소 내부에서는 사용할 수 없습니다. <h:dataTable>
. 그러나 당신의 경우, 당신은 원합니다 <c:if>
외부, 가능합니다. 그러나 Romaintaz가 지적했듯이 rendered
기인하다.
제휴하지 않습니다 StackOverflow