Композитный Компонент JSF - PullRequest
6 голосов
/ 16 апреля 2010

Я пытаюсь создать составной компонент для использования в моем приложении Seam, и у меня возникают проблемы с самым простым компонентом "привет, мир".

Я поместил файл с именем hello.xhtml в {jboss deploy} /application.ear/application.war/resources/greet:

<!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>

Теперь в home.xhtml, расположенном в корне моего веб-приложения ({jboss deploy} /application.ear/application.war/home.xhtml):

<!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>

Но мой "привет, мир" не отображается, и я не получаю никаких сообщений об ошибках, даже когда включаю ведение журнала уровня отладки для категорий com.sun и javax.faces.

Я проверил, что каталог ресурсов находится в правильном месте, после добавления каталога resources / images / test.jpg, а затем добавления его в home.xhtml:

h:graphicImage value="#{resource['images:test.jpg']}"/>

Результат к отображаемому изображению. Я просто не знаю, почему JSF не берет мой файл xhtml из каталога greet.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 14 сентября 2011

Вот пример составного компонента входа в систему, где также объясняются ресурсы jsf2: http://jugojava.blogspot.com/2011/09/jsf-composite-component-binding-to.html

3 голосов
/ 16 апреля 2010

Попробуйте поместить его в META-INF/resources, а не просто resources.

...