복합 컴포넌트 (cc)가 inputText-Field를 작성합니다. 중요한 부분은 모델 속성 "visible"에 따라 렌더링된다는 것입니다. 모델은 parm "name"을 통해 구성 요소에 제공됩니다. 뷰에서 JSF 2 복합 컴포넌트 렌더링 문제
<cc:interface>
<cc:attribute name="name" required="true"/>
</cc:interface>
<cc:implementation componentType="ch.sbi.pt.components.PMSInputText">
<h:inputText value="#{cc.attrs.name.value}" rendered="#{cc.attrs.name.visible}"/>
</cc:implementation>
i는 2 셀/행과 panelGrid이 : 첫 번째 행은 라벨과 내 CC를 가지고 두 번째는 중요하지 않습니다. 라벨은 my cc와 동일한 모델 속성으로 렌더링됩니다. "false"를 반환 -property "볼"경우
<h:panelGrid columns="2">
<h:outputText value="Name" rendered="#{person.name.visible}"/>
<sbic:pmsInputText name="#{person.name}"/>
<h:outputText value="Next Label"/>
<sbic:pmsInputText name="#{something.name}"/>
</h:panelGrid>
결과 (그리고 문제가), 다음과 같다 : 구성 요소의 없음 (! 완벽한) 렌더링되지 않지만 CC 결과 HTML이 빈 셀 잎 (예 : <td></td>
)는 추한 layouted HTML - 테이블에 어떤 결과() 하나의 셀 오프셋 :
<table>
<tbody>
<tr>
<td></td>
<td>Next Label</td>
</tr>
....
를 지금까지 내가이 라이프 사이클 (JSF 대 JSTL)과 관련이있다 이해 : 내 CC는 렌더링 전에 <h:outputText../>
하지만, 어떻게 빈 셀을 제거 할 수 있습니까 (예 : <td></td>
)? 내가 여기서 뭔가를 놓치고 있니?
고맙습니다. 전문가의 도움을 받으십시오! 마크
"JSTL vs JSF"란 무엇을 의미합니까? 여기에는 JSTL에 대한 어떠한 수단도 없습니다. JSTL이 무엇인지 혼란 스럽거나 오해하지 않습니까? 읽기 : http://stackoverflow.com/tags/jstl/info – BalusC
예. 내 잘못. 고맙습니다. – MarcG