Bei der Verwendung von <ui:composition> templating, wo soll ich das erklären <f:metadata>?
Ich habe eine Menge Fortschritte in der Umstellung meiner JSF-Anwendungen zu buchen-beschreib-Seiten, aber ich Frage mich, ob ich bin, es zu tun der richtige Weg. Eine Frage, gibt es eine best-practice-Standort für die f:Metadaten tags?
Meine typische Facelets client-Seite sieht wie folgt aus:
<ui:composition template="./pattern.xhtml">
<ui:define name="content">
<f:metadata>
<f:viewParam name="userId" value="#{bean.userId}" />
<f:viewParam name="startRecord" value="#{bean.startRecord}" />
<f:viewParam name="pageSize" value="#{bean.pageSize}" />
<f:viewParam name="sort" value="#{bean.sort}" />
</f:metadata>
<h1>Data Table</h1>
etc
Also die f:Metadaten und Kind f:viewParam tags gefunden werden in den Körper von meiner Seite. Meine Muster.xhtml Vorlage auch eine Rubrik (namens "header") , könnte man diese tags in den header-Abschnitt. Sollte Sie es? Macht es einen Unterschied, oder bin ich für einige Nebenwirkung, die ich noch nicht gesehen habe?
InformationsquelleAutor der Frage AlanObject | 2012-03-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Technisch ist es egal, wo Sie erklären, die
<f:metadata>
in der Ansicht, solange es in die top-level-Sicht (also, bei der Verwendung von templates im template-client und somit auch nicht in der master-Vorlage). Wenn die Ansicht gebaut werden, die Metadaten werden grundsätzlich nicht Teil des JSF-Komponente Baum, aber der Blick Wurzel (die Sie erhalten können, auf eine per-view-basis vonViewDeclarationLanguage#getViewMetadata()
).Meisten selbsterklärend wäre die
<f:metadata>
im oberen Teil die Sicht, so dass Sie sehen können, die Metadaten, die auf den ersten Blick, ohne scrollen zu müssen, um auf halbem Weg oder unten den Quelltext anzeigen.Wenn mit einem einfachen Seite, nur legen Sie Sie rechts, bevor Sie die
<h:head>
.Bei der Verwendung von templates ist die empfohlene Vorgehensweise, wie es in das
<f:metadata>
- tag-Dokumentationwäre zu erklären, eine separate<ui:insert name="metadata">
in der master-Vorlage und lassen Sie den Kunden definieren Sie die<f:metadata>
in einem<ui:define name="metadata">
.InformationsquelleAutor der Antwort BalusC