2011-02-23 4 views
2

JSF 2.0 복합 컴포넌트를 개발 중입니다. 내 필수 HTML을 특성으로 설정할 상자 구성 요소를 작성하려고합니다.JSF 2.0의 복합 컴포넌트에서 노드 값을 속성으로 전달하는 방법

일부 것 같은 ..

<composite:interface> 
    <composite:attribute name="value" /> 
</composite:interface> 
<composite:implementation> 
    <table cellpadding="0" cellspacing="0" border="1" width="100%"> 
     <tr> 
      <td></td> 
      <td>#{cc.attrs.value}</td> 
      <td></td> 
     </tr> 
    </table> 
</composite:implementation> 

내가 지금처럼,이 구성 요소를 사용하고 "값"속성에 필요한 HTML을 전달하려는

:

<someDir:boxComp>Hello</someDir:boxComp> 

는 "안녕하세요"입니다 속성 값으로 취하지 않는다. 노드 값을 속성 값으로 만들 수있는 방법은 무엇입니까?

답변

2

태그 속성으로 전달하지 않습니다. 태그 본문에 자식으로 전달하는 중입니다. 이 경우 <composite:insertChildren />을 사용하여 삽입해야합니다. 그래서, 대신

<td>#{cc.attrs.value}</td> 

당신이 실제로#{cc.attrs.value}를 사용하려는 경우

<td><composite:insertChildren /></td> 

또는을 수행해야합니다, 당신은 실제 태그로 정의한다 애트리뷰트를 처음부터 태그 본문으로 사용하는 대신

<someDir:boxComp value="Hello" /> 
관련 문제