JSF复合组件
我试图创建一个用于Seam应用程序的复合组件,但在使用最简单的“hello,world”组件时遇到了问题 我在{jboss deploy}/application.ear/application.war/resources/greet中放置了一个名为hello.xhtml的文件: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
<!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']}"/>