JSF Primefaces Links, Mitte-layout
Ich verstehe nicht, wie die Anzeige in der Mitte Bildschirm, wenn ich auf die Taste in meiner "Links" - Menü.
Nun habe ich, dass wenn ich auf button in meine "Links" - Menü, neue Seite wird geöffnet, ohne "Links" - Menü, aber ich will es nicht, ich brauche das "linke" Menü war nicht verschwunden.
Unten ist mein code.
<h:head>
<title>Facelet Title</title>
</h:head>
<frameset rows="65,*" frameborder="0">
<frame scrolling="no" src="header.xhtml"/>
<frameset cols="200,*" frameborder="0">
<frame scrolling="no" src="menu.xhtml"/>
</frameset>
</frameset>
InformationsquelleAutor Zhan | 2012-06-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Grundsätzlich müssen Sie die Ziel-frame ein
name
und geben Sie es in dietarget
Attribut des<a>
element. E. g.mit
Aber das alles ist nicht ganz der richtige Weg, um der Vorlage eine moderne web-Anwendung. Framesets haben viele Nachteile, um user experience und SEO valuability. Stattdessen werden die include-und Template-Anlagen jeder server-side-view-Technologie (wie Facelets als Sie nutzen) sollte verwendet werden. Framesets sollte nur verwendet werden, wenn Sie haben absolut keine server-server-side-view-Technologie in die Hände (also nur plain-HTML), oder wenn Sie wollen auf eine externe website.
Mit Facelets, sollten Sie es stattdessen mit so etwas als Vorlage
/WEB-INF/templates/layout.xhtml
(Sie können CSS verwenden, um die position des layout-Komponenten, wie Sie wollen, z.B.
float:left
auf#menu
und#content
)Und dies ist, wie die template-client (die Seite, die Sie öffnet tatsächlich durch URL) sollte wie folgt Aussehen:
/page.xhtml
Für ein open-source-Beispiel für eine moderne JSF/Facelets web-Anwendung, überprüfen Sie unter anderem die OmniFaces showcase-Anwendung.
Als Sie mit PrimeFaces gibt es eine andere alternative, die
<p:layout>
. Siehe die "vollständige Beispiele" auf Ihrer showcase-Anwendung, zum Beispiel diese eine.Siehe auch:
Deine Beschreibung ist ein bisschen verwirrend, aber ich kann mir vorstellen, dass JSF templating-system ist das, was Sie nach sind, damit Sie den gleichen code (ein Menü zum Beispiel) auf mehreren Seiten. Frames sind sehr veraltet und größtenteils nicht mehr verwendet.
Siehe Beispiel im http://www.mkyong.com/jsf2/jsf-2-templating-with-facelets-example/
Als ein weiterer Kommentar, dieses Problem scheint nicht zu sein, in Bezug auf Primefaces (eine Komponente pack, keines dieser Kommentare sind enthalten in Ihrem code).
Hier ist eine einfache Kopfzeile, Seite(N), Fußzeile Beispiel. Sie können eine Formular-id für alle ob Sie es glauben oder nicht. Der header geht in WebContent/Vorlagen. Die anderen .xhtml kann in WebContent. Wenn Ihr @ManagedBean String-Methode gibt "zweite", die Seite, die zweite.xhtml angezeigt werden. Die einzelnen Seiten sind noch Gespräche zu eigenen @ManagedBean.
Können wir Layouts verwenden statt
include namespace
xmlns:p="http://primefaces.org/ui"
Hierdurch werden fünf panels