1

プロジェクトに CC を導入したかったのです。JBoss 7.1.1 で Java EE 6 を実行しています。

/myProj/src/main/webapp/composites/scheda.xhtml :

<html xmlns="http://www.w3.org/1999/xhtml"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:composite="http://java.sun.com/jsf/composite">

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

    <composite:implementation>
        Hello!
    </composite:implementation>

</html>

/myProj/src/main/webapp/someDir/page.xhtml :

<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
   xmlns:ui="http://java.sun.com/jsf/facelets"
   xmlns:f="http://java.sun.com/jsf/core"
   xmlns:h="http://java.sun.com/jsf/html"
   xmlns:p="http://primefaces.org/ui"
   xmlns:composites="http://java.sun.com/jsf/composite/composites"
   template="/templates/default.xhtml">

    <ui:define name="content">

        <p:dialog 
            header="Scheda" 
            widgetVar="schedaDialog" 
            id="schedaDialogId">

            <composites:scheda prod="test" />

        </p:dialog>

    </ui:define>

</ui:composition>

これにより、次の結果が得られます。

javax.servlet.ServletException: /.../page.xhtml タグ ライブラリは名前空間をサポートしています: http://java.sun.com/jsf/composite/compositesが、名前のタグが定義されていません: scheda

バグ?

4

1 に答える 1

1

複合コンポーネントの xhtml を適切な場所に配置しませんでした。ご覧のとおり、Maven を使用しているため、複合コンポーネントへの適切なパスは次のようになります。

/myProj/src/main/webapp/resources/composites/scheda.xhtml

resourcesJSF が複合コンポーネントを検索するフォルダーです。

于 2013-02-18T09:26:04.127 に答える