JSF复合组件

JSF复合组件,jsf,composite-component,Jsf,Composite Component,我试图创建一个用于Seam应用程序的复合组件,但在使用最简单的“hello,world”组件时遇到了问题 我在{jboss deploy}/application.ear/application.war/resources/greet中放置了一个名为hello.xhtml的文件: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra

我试图创建一个用于Seam应用程序的复合组件,但在使用最简单的“hello,world”组件时遇到了问题

我在{jboss deploy}/application.ear/application.war/resources/greet中放置了一个名为hello.xhtml的文件:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:composite="http://java.sun.com/jsf/composite">
<head>
<title>My First Composite Component</title>
</head>
<body>

<composite:interface>
    <composite:attribute name="who"/>
</composite:interface>

<composite:implementation>
    <h:outputText value="Hello, #{cc.attrs.who}!"/>
</composite:implementation>

</body>
</html>
结果显示图像。我只是不知道为什么JSF没有从greet目录中获取我的xhtml文件


有什么想法吗?

尝试将其放入
META-INF/resources
,而不仅仅是
resources

下面是一个登录复合组件的示例,其中还解释了jsf2资源:

谢谢你的建议,但我尝试了以下所有位置,但都没有成功:
application.ear/META-INF/resources
application.ear/application.war/WEB-INF/resourcesapplication.ear/application.war/META-INF/resources(完全非标准)我担心我没有得到这个的调试/信息输出。我不知道JSF/Seam在哪里查找资源目录。请尝试application.ear/application.war/WEB-INF/classes/META-INF/resources。我没有使用application.ear部分的经验,但下面是一个使用复合组件的webapp示例:。组件xhtml位于war/WEB-INF/classes/META-INF/resources中。还要确保您使用的是JSF2.0,而不是JSF1.2。不,您不会收到任何错误消息,未经处理的名称空间以“宽松”的方式处理。不幸的是,该位置也不起作用。JSF2资源的位置被正确地看到了——我更新了原始帖子,以显示我可以引用诸如“图像”库之类的资源。但是复合组件没有被看到。@purecharger:我会首先尝试将webapp部署为WAR,以检查问题是否在ear步骤中。我看不出你的代码有什么问题。名称空间似乎是正确的。但也许我错过了什么。你确定你的“内容”片段被插入了吗?Lexicore,谢谢你的建议。我想我已经找到了问题的根源:Seam不能很好地与JSF2.0配合使用。我的应用程序(以及所有seam示例)的faces-config.xml指定了JSF 1.2。尝试使用JSF2.0会导致启动时出现异常。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:h="http://java.sun.com/jsf/html"
            xmlns:f="http://java.sun.com/jsf/core"
            xmlns:g="http://java.sun.com/jsf/composite/greet"
            xmlns:s="http://jboss.com/products/seam/taglib"
            template="layout/template.xhtml">
    <ui:define name="content">
    <div id="content">
        <g:hello who="World"/>
        <br/>
    </div>
    </ui:define>
</ui:composition>
h:graphicImage value="#{resource['images:test.jpg']}"/>