2017-05-11 1 views
1

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에서도 같은 시도를했지만 동일한 문제가 발생합니다.

답변

0

근본 원인을 찾을 수 없지만 문제가 해결되었습니다. JSF 2.2.7 jar와 동일한 코드를 시도했지만 대신 주석을 사용했습니다. 2.2.7에서 작동하지 않았다는 문제에서 언급했듯이, 기존의 패션 코드를 사용했기 때문에 taglib를 만들고 배포 설명자에서 업데이트하는 것과 같았습니다.

관련 문제