xhtml보기에서 사용되는 사용자 정의 구성 요소를 작성했으며 Netbeans8.1 및 glassfish4.1을 사용하여 JSF 2.1에서 속성 값을 가져 와서 인쇄합니다 (helloworld와 같은 코드). UIComponentBase 재정의 패밀리를 확장하고 UIComponentELTag를 override하는 componentType 및 rendererType 메서드를 확장하여 begin 및 custom 구성 요소 태그 클래스를 인코딩하여 사용자 지정 구성 요소를 만들었습니다. test.taglib.xml에 대한 태그 라이브러리를 정의하고 web.xml에 등록했습니다.JSF2 사용자 정의 구성 요소 문제
다음은보기 코드입니다.
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:body>
<h2>JSF Custom Input FacesComponent Example</h2>
<h:form>
<ui:composition
xmlns:custom="http://packt.net/cookbook/components"
xmlns:ui="http://java.sun.com/jsf/facelets">
<custom:testInput helloworld="test component!!"/>
</ui:composition>
</h:form>
</h:body>
</html>
문제는 - 그것은 단지 HTML 값을 표시하고 사용자 정의 컴포넌트의 속성 값을 표시하지 않습니다.
jsp 뷰 (tld 파일 사용)를 시도한 경우에도 동일한 예제가 작동합니다.
맞춤 구성 요소 태그를 직접 또는 ui : 구성 요소의 하위 요소로 사용해 보았지만 행운은 없었습니다.
사용자 지정 구성 요소에 중단 점을 넣고 디버깅을 시도했지만 컨트롤이 중단 점으로 이동하지 않았습니다.
컨트롤이 중단 점이 아니므로 내 사용자 지정 구성 요소가 서블릿에 등록되지 않는다는 의미입니까? 그렇다면 그들에게 내가 잘못하고있는 것을 말해주십시오.
JSF에 익숙하지 않으므로 어떤 점이 누락 되었으면 알려주세요.
JSF2.2.7에서도 같은 시도를했지만 동일한 문제가 발생합니다.