复合组件支持bean位置

时间:2011-10-07 13:50:31

标签: jsf-2 facelets composite-component backing-beans

我正在尝试将我的JSF2页面拆分为复合组件。所以我决定将复合组件放在逻辑文件树中。例如:

  

的WebContent /资源/组件/第1页/ component1.xhtml

关联的bean位于

  

Java resources / src / components / page1 / component1.java

它的包是components.page1

在此示例中,找到并呈现component1.xhtml,但服务器未找到该bean。

如果我不使用子包:

  

的WebContent /资源/第1页/ component1.xhtml
  Java资源/ src / page1 / component1.java

因此当课程在page1包中时,它就可以了!

复合组件bean和子包有问题吗?

我正在使用MyFaces 2.0,Tomcat 6和Eclipse。

1 个答案:

答案 0 :(得分:1)

您需要<cc:interface>componentType属性来明确指定支持组件。

<cc:interface componentType="component1">

package components.page1;

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