2016-10-24 24 views
0

에 변환기를 통과, 내가 How to reference component inside a composite component when using a converter몇 가지 실험을하고 독서 후 복합 구성 요소

과 같은 해결책을 발견 문제는 그러나 나는 valueholder 두 개의 ID를 가지고 있다는 것입니다 내가 ID1를 사용할 수있는 설명서에 따라, id2를 대상으로하지만 작동하지 않습니다.

이 내 복합 구성 요소입니다

<cc:interface> 
    <cc:attribute name="id" required="true"/> 
    <cc:attribute name="value" required="true"/> 
    <cc:attribute name="editable" required="true"/> 
    <cc:editableValueHolder name="element" targets="input,output"/> 
</cc:interface> 
<cc:implementation> 
    <h:inputText value="#{cc.attrs.value}" id="input" rendered="#{cc.attrs.editable}"/> 
    <h:outputText value="#{cc.attrs.value}" id="output" rendered="#{not cc.attrs.editable}"/> 
</cc:implementation> 

그리고 이것은 내가 CC를 사용하려는 방법이다 : 나는 원래 insertChildren를 통해와 일 패싯하지만 아무도 통해 컨버터를 삽입하려고

<r:inputText editable="#{registrationBean.editable}" id="dateOfBirth" 
      value="#{registrationBean.dateOfBirth}"> 
    <f:convertDateTime pattern="dd-MM-yyyy" type="date" for="element" /> 
</r:inputText> 

.

답변

0

target 요구 분리 공간이어야한다 콤마 분리

존재한다면, 이것은 내의 컴포넌트의 클라이언트 ID의리스트 (최상위 요소에 대해) 분리 공간 (되지 TAB)이어야 섹션. 공백은 XML 스키마의 IDREFS 및 NMTOKENS 데이터 형식과의 호환성을 위해 의 구분 기호로 사용됩니다.

JSF2.2 docs

+0

은 나뿐만 아니라 공간을 시도했습니다. 실제로 원래 스 니펫에 공간이 있으므로 쉼표를 사용하도록 스 니펫을 변경했습니다. – Limnic

+0

복합 컴포넌트/호출 사이트에서 주석 처리 된 코드 행과 관련이있을 수 있습니까? 나는 주석 처리 된 코드를 제거하고 갑자기 작동하는 것처럼 보입니다. 나는 아직 그것에 대해 안전하다고 느끼지 않지만 오하이오 ... – Limnic