Ändern Sie den Namespace der Verbundkomponente

Ich habe eine kleine Bibliothek (JAR), die einige benutzerdefinierte JSF-Komponenten enthält. Einige von ihnen sind Composite-Komponenten, die vollständig (oder teilweise) in XHTML-Dateien implementiert sind, die sich unter befindenMETA-INF/resources/my-components. Um diese Komponenten aus anderen XHTML-Dateien zu verwenden, muss der XML-Namespace verwendet werdenhttp://xmlns.jcp.org/jsf/composite/my-components.

Andere verwandte Komponenten in dieser Bibliothek werden mit POJOs implementiert@FacesComponent (und@FacesRenderer). Um diese Komponenten verwenden zu können, muss der XML-Namespace verwendet werden, der in den Komponenten definiert ist@FacesComponent-annotation (Attributnamespace). An diesem Punkt kann ich wählen, was ich will (wiehttp://my-company.com/my-components).

Da ich keine Möglichkeit gefunden habe, das Namespace-Präfix meiner Composite-Komponenten zu ändern, und ich den Namespace meines POJO nicht auf so etwas wie setzen möchtejcp.org (Ich bin nicht sicher, ob dies überhaupt möglich ist), ich muss zwei verschiedene Namespaces verwenden, um meine Komponenten aus der gleichen Bibliothek zu verwenden.

Da sich die Namespaces jedoch nur aufgrund eines Implementierungsdetails unterscheiden und möglicherweise eine Komponente in Zukunft auf andere Weise realisiert wird, ist dies nicht das, was ich möchte.

Die Frage ist also: Gibt es eine Möglichkeit, den vollständigen Namespace für meine Verbundkomponenten anzugeben? Natürlich möchte ich die gleichen verwenden, die für meine anderen Komponenten verwendet werden (http://my-company.com/my-components im Beispiel).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage