2013-06-30 1 views
1

HTML5 태그의 간단한 시나리오를 살펴 보겠습니다. <html> 태그는 <head><body> 태그 중 하나만 허용 할 수 있습니다. HTMLUIComponent, HTMLHeadUIComponent, HTMLBodyUIComponent이 각각 위에 지정된 각 HTML 태그를 나타내는 것으로 가정하면 HTMLHeadUIComponentHTMLBodyUIComponent은 다른 구성 요소가 아닌 HTMLUIComponent 안에 만 렌더링 될 수 있습니까?UIComponent가 특정 UIComponent 내부에 렌더링되도록 허용

답변

1
단지 encodeBegin() 동안이 같은 일을하는 것입니다

가장 쉬운 방법 : 당신이 (렌더링 시간을 대신보기)보기 빌드 시간 동안이 작업을 수행해야하는 경우

if (!(component.getParent() instanceof HTMLUIComponent)) { 
    throw new IllegalArgumentException("HTMLHeadUIComponent must have a parent of type HTMLUIComponent"); 
} 

는, 당신은 창조의 주위에 갈 수 없어 해당 구성 요소에 대한 태그 처리기를 추가하고 그 곳에서 확인을 apply() 메서드에서 수행합니다.

+0

감사합니다. BalusC! 네가 원한다면 마지막 단락을 자세히 설명해 줄 수 있니? –

+0

다음은 Hello World 태그 처리기입니다 (http://stackoverflow.com/a/15007720). 'your.taglib.xml'의 ''항목 안에 ''로 등록하십시오. 또는 구체적인 질문이 실제로 "빌드 시간보기"와 "렌더링 시간보기"에 관련된 것이라면이 대답으로 이동하십시오 : http://stackoverflow.com/a/3343681/. 이유는 응답이 이미 해당 지점에서 커밋 될 위험이 있으므로 뷰 렌더링 시간 동안 예외를 throw하는 것이 오류 페이지에서 반드시 끝나는 것은 아닙니다 (그러나 로그에서 끝납니다). 그러나 나는 이것에 대해 걱정하지 않겠지 만 개발자는 개발 중에 즉시 그것을 보게 될 것입니다. – BalusC

+0

정말 고마워요! 그게 말이 되네요. :-) –

관련 문제