2013-08-13 3 views
1

백킹 빈 값이 이 아닌 경우이 비어 있으면 <span>Lorem Ipsum</span>을 표시하려고합니다.JSF 조건이 true 인 경우 html 태그를 표시하는 방법은 무엇입니까?

<h:outputText rendered="#{not empty pubController.location}"> 
    <span>Lorem Ipsum</span> 
</h:outputText> 

Lorem Ipsum은 절대로 표시되지 않습니다. 분명히, 내 조건에서 NOT을 제거하면 작동하지 않습니다.

FYI : h : outputText를 실행하기 전에 간단히 부울 문을 인쇄합니다. 그것은 내가 기대하는 것을 정확하게 인쇄합니다. 비어 있지 않은 값은 True입니다. 또한 rendered-condition은 h : form 태그로도 작동합니다. h : outputText가이 경우 부적절한 것 같습니다. 맞습니까?

h : outputText를 사용하여 원하는 작업보다 더 나은 방법이 있습니까?

답변

5

documentation에 명시된 h:outputText 자식 요소를 허용하지 않기 때문에이 작동하지 않을 수 있습니다

를이 요소가 아이 요소를 가지고있는 경우는, 그들은 기본적으로 무시해야합니다. 구현시이 요소에서 하위를 렌더링 할 수 있도록 구성 옵션을 제공 할 수 있습니다. 당신은 다음과 같은 작업을 수행 할 수

<h:outputText value="Lorem Ipsum" rendered="#{not empty pubController.location}"/> 

참고 : 문제를 해결해야 다음 코드를 사용하여 시도

좀 더를 표시해야하는 경우 유용 할 수

<h:panelGroup rendered="#{not empty pubController.location}"> 
    <span>Lorem Ipsum</span> 
</h:panelGroup> 

간단한 span 요소보다 복잡한 구조.

+0

네, 스팬 태그를 고려하기 때문에 대안 작품입니다. 큰. 감사. – feder

+0

클라이언트 측 속성이 지정되지 않은 경우''는 ''을 생성하지 않습니다. 당신은 다른 것을 기대하고있는 것처럼 보입니다. – BalusC

+0

''을 실행하면' '가 생성됩니다. – LaurentG

관련 문제