2010-02-01 3 views
2

이렇게 될 것 같지만 ...?JSF rich : 행당 dataList가 렌더링됩니까?

richfaces 및 JSF를 사용하여 rich : dataList ...를 사용하여 List를 반복 처리합니다. 각 반복을 선택적으로 '렌더링'하는 것이 좋을 것만 제외하면 모두 괜찮습니다. 예를 들어

:

<rich:dataList value="#{list}" var="item"> 
    <h:outputText value="#{item.something}" /> 
</rich:dataList> 
'항목'의 일부 속성이 true 또는 어떤 경우에는 내가 예를 들어, 선택적으로 출력을 렌더링 할 수 있도록하고 싶습니다

.

나는 포장 해봤은 An outputPanel와 유사한에서 outputText하지만 출력 패널은 당신이 그것을 그냥 건너 뛰기보다는 옆에 아무것도 총알 포인트를 얻을 수 있도록 계속 렌더링되는 '<li>'반복의 렌더링되지 않은 경우 항목 전체 : (

내가 해결할 수있는 방법은 무엇입니까? 나는 정상적으로 실현하기 위해 항목 목록을 준비하기 전에 손으로 준비하지만 많은 이유 때문에 여기서 반복하지 않아도됩니다. isn

답변

1

이상한 행동. Tomahawk'st:dataList으로 재현하려고 시도했는데 정확히 동일한 beha가 표시됩니다. viour! 가장 좋은 방법은 a4j:repeat으로 바꾸고 일반 HTML <li> 요소를 수동으로 렌더링하는 것입니다. 뭔가 같은 :

<ul class="rich-datalist"> 
    <a4j:repeat value="#{list}" var="item"> 
     <h:panelGroup rendered="#{item.somecondition}"> 
      <li class="rich-list-item"> 
       <h:outputText value="#{item.something}" /> 
      </li> 
     </h:panelGroup> 
    </a4j:repeat> 
</ul> 

개인적 그러나 버그로 표시하거나 적어도 원치 않는 행동과 보고서 것

(here 그래서 피부를 유지한다는 설명 된대로 내가 rich:dataList에서 같은 클래스 이름을 차용 한) 문제의 컴포넌트 라이브러리 뒤에있는 애들에게. I've already done it for Tomahawk.

+0

나는 그것을 생각했지만 'li'을 패널 그룹으로 묶는 것이 유효합니까? 나쁜 보인다 – rat

+0

흠 아니 항상 balusc 도움이 리튬의, 덕분에 주변의 스팬 발생하지 않는 것 : – rat

+0

를 천만에요

  • 물건
: 나는 그것이 같은 HTML을 초래할 것이라고 생각했다. ** ** 속성 **을 렌더링 할 필요가있을 때만''을 렌더링합니다. 'id','style','styleClass' 등. – BalusC

0

심플. 렌더링 된 속성을 h : outputText 태그에 추가하십시오.

<rich:dataList value="#{list}" var="item"> 
    <h:outputText value="#{item.something}" rendered="#{item.isDisplayed}"/> 
</rich:dataList> 
관련 문제