In Facelets 1.x können Sie eine Tag-Datei für diesen Zweck erstellen.
Hier ist ein grundlegendes Kickoff-Beispiel. Erstellen /WEB-INF/tags/some.xhtml
:
<ui:composition
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:outputText value="#{foo}" />
</ui:composition>
definieren es in /WEB-INF/my.taglib.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://example.com/jsf/facelets</namespace>
<tag>
<tag-name>some</tag-name>
<source>/WEB-INF/tags/some.xhtml</source>
</tag>
</facelet-taglib>
Registrieren Sie in /WEB-INF/web.xml
:
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/my.taglib.xml</param-value>
</context-param>
(beachten Sie, wenn Sie mehrere haben, verwenden Sie Semikolon ;
sie zu trennen)
Schließlich deklarieren Sie es einfach in Ihrer Hauptseite Vorlagen. How to make a grid of JSF composite component? Hinweis:
<ui:composition
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:my="http://example.com/jsf/facelets"
>
<my:some foo="value1" />
<my:some foo="value2" />
<my:some foo="value3" />
</ui:composition>
Ein fortgeschrittenere Beispiel kann hier gefunden werden JSF 2.0 gezielt, aber mit geringfügigen Änderungen, basierend auf obiges Beispiel funktioniert es so gut auf Facelets 1.x
Verwenden Sie JSF 2.0? –
Sorry, ich vergesse dies zur Zusammenfassung hinzuzufügen. Ich benutze 1.2 – Daggeto