2011-10-07 12 views
1

JSF2 페이지를 복합 컴포넌트로 분할하려고합니다. 그래서 복합 요소를 논리적 파일 트리에 넣기로 결정했습니다. 예를 들면 :복합 컴포넌트 백킹 빈 위치

의 WebContent/자원/구성 요소/PAGE1/component1.xhtml

연관된 빈은

자바 자원/SRC/구성 요소/PAGE1/component1.java

패키지의 내용은 components.page1입니다.

이 예제에서는 component1.xhtml이 발견되어 렌더링되지만 서버가 Bean을 찾지 못합니다.

나는 서브 패키지 사용하지 않는 경우 :

그래서 때

의 WebContent/자원/PAGE1/component1.xhtml
자바 자원/SRC/PAGE1/component1.java을 클래스 패키지 page1에 있습니다, 작동합니다!

복합 구성 요소 bean 및 하위 패키지에 문제점이 있습니까?

MyFaces 2.0, Tomcat 6 및 Eclipse를 사용하고 있습니다.

+0

로 그냥 하나의 방법을 작동합니다. 아마도 "backing bean"에 대한 귀하의 정의는 완전히 옳지 않습니다. 아마도 "구성 요소 백업"을 의미 할 것입니다. 그것은 JSF'@ ManagedBean'입니까? 실제로'@ FacesComponent' 인'UIComponent' 구현을 의미하지 않습니까? – BalusC

+0

예, UIComponentBase를 확장하는 보조 컴포넌트입니다. 관리 빈이 아닙니다. – boblemar

답변

1

명시 적으로 백킹 구성 요소를 지정하려면 <cc:interface>componentType 속성이 필요합니다.

<cc:interface componentType="component1"> 

package components.page1; 

@FacesComponent("component1") 
public class Component1 extends UINamingContainer { 
    // ... 
} 
+0

확인. 그것은 작동합니다. 나는 정말로 그것을 tryed 믿습니다. – boblemar