2013-08-29 5 views
1

복합 속성 elementId이 있다고 가정합니다.f 내의 합성 속성 : 다른 합성 구성 요소의 facets 태그

<composite:implementation> 
    ... 
    <x:popupTooltip> 
     ... 
     <f:facet name="tooltip"> 
      <rich:message for="#{cc.attrs.elementId}" /> 
      ... 

#{cc.attrs.elementId} 항상 <f:facet .../> 태그 내에 비어 있습니다. 그러나 매개 변수 ouside를 <f:facet ... />으로 추가하면 올바르게 렌더링됩니다.

<f:facet .../> 태그 내에 복합 속성 또는 값을 사용하려면 어떻게해야합니까?

답변

1

EL은 항상 현재 구성 요소의 컨텍스트에서 평가됩니다. <rich:message>에있는 #{cc}은 실제로 <x:popupTooltip>을 나타냅니다. 최선의 방법은 해당 속성을 <x:popupTooltip>으로 전달하여 해당 속성을 인식하도록하는 것입니다.

<x:popupTooltip elementId="#{cc.attrs.elementId}"> 
+0

감사합니다. 정확히 내가 해결 방법으로 한 일. :-) 그러나 이것은'elementId'가 매우 특정한 코드에서만 사용 되었기 때문에 중복 된 코드로 이어집니다. –

+0

반갑습니다. 그렇지만, 특정 목적을 위해 복합 소재를 사용하는 것에 당신은 단순히 망설여 버릴 까봐 두려워합니다. http://stackoverflow.com/questions/6822000/when-to-use-uiinclude-tag-files-composite-components-and-or-custom-componen/6822269#6822269도 참조하십시오. – BalusC