복합 구성 요소를 사용자 지정 구성 요소로 마이그레이션해야합니다. 이 예제는 다소 단순화되었지만 문제를 보여줍니다. 즉, 내 구성 요소의 하위 항목 (my:test
)을 다른 구성 요소에 렌더링해야합니다. 복합 my:testC
, 내가 사용하지 않을 예를 들어, 나는 단순히 p:panel
encodeBegin
에 렌더링 할 수없는 (나는이 가정에 올바른있어 희망 적어도) 분명히이복합 구성 요소를 사용자 지정 구성 요소로 마이그레이션
<composite:implementation>
<p:panel>
<composite:insertChildren/>
</p:panel>
</composite:implementation>
과 같을 것이다 . PrimeFaces 패널에서 렌더링 일부 텍스트을 :
<my:test>
<h:outputText value="some Text"/>
</my:test>
출력은 my:testC
를 사용하는 것보다 동일해야합니다 :
@FacesComponent("test")
public class Test extends UIPanel
{
@Override
public void encodeBegin(FacesContext context) throws IOException
{
// ??
}
@Override
public void encodeEnd(FacesContext context) throws IOException
{
// ??
}
}
는이 같은 방식으로 my:test
을 사용하고 싶습니다. Java 클래스에서 p:panel
의 사용을 어떻게 인코딩 할 수 있습니까?
구체적인 문제/질문을 이해하지 못합니다 (사실 구체적인 질문이 없습니다). 사용자 정의 구성 요소에 동일한 출력 인 ''을 인코딩하는 방법을 구체적으로 묻고 있습니까? 아니면 해당 부분에 기본 인코더 (렌더러) 인 ''을 재사용하는 방법을 구체적으로 묻고 있습니까? 'encodeChildren()'이 자동적으로 모든 것을 처리하기 때문에 아이들은 전혀 문제가되지 않습니다. 첫 단락의 마지막 문장은 그렇지 않다는 것을 나타내는 것처럼 보입니다. 혼란 스럽습니다. –
BalusC
@BalusC이 문제를 조사해 주셔서 감사합니다. 나는 질문을 업데이 트했습니다, 잘하면 지금 이해하는 것이 좋습니다. 귀하의 질문에 대답하기 위해 : 나는'p : panel'의 동일한 출력을 인코딩하려고합니다. – Thor