MyFaces – panelNavigation2 und CSS

Dynamische Menüs sind toll, und wenn diese Session Save sind ist es noch viel besser! Das Apache MyFaces Projekt hat dazu eine Komponente entwickelt: panelNavigation2. Doch die passende Dokumentation ist noch im Entstehen, und einige Examples lassen sich leider nicht vollständig laden. So bleiben wichtige Teile des JSP-Sourcecodes verborgen, was vor allem Neueinsteigern das Leben schwer machen kann… somit folgt hier also der komplette Sourcecode einer JSP mit der Komponente:

<div>
<f:loadBundle basename=“org.yourdomain.resource.ResourcesMenu“ var=“ResourcesMenu“ />
<h:form>
<t:div id=“subnavigation_outer“ forceId=“true“>
<t:div id=“subnavigation“ forceId=“true“>
<t:panelNavigation2 id=“nav1″ layout=“list“ itemClass=“mypage“
activeItemClass=“selected“
disabledStyle=“color:red;padding: 2px 20px 2px 25px“>
<t:navigationMenuItems id=“navitems“
value=“#{navigationMenu.panelNavigationItems}“ />
</t:panelNavigation2>
</t:div>
</t:div>
</h:form>
</div>

Wichtig – und nicht dokumentiert – ist u.a. dass man die Komponente in einem form-Tag wrappt, denn nur dann kann ja auch die hinterlegte Action ausgewertet werden. Außerdem sollte man bei dem einrahmenden DIV’s auch den forceId-Parameter auf true setzen, denn sonst würde, sobald man den Snippet in ein <jsp:include setzt, das CSS nicht mehr greifen.

Advertisements

3 Antworten zu “MyFaces – panelNavigation2 und CSS

  1. Hy!

    Ich lerne im Moment JSF und bin nun auf MyFaces und Tomahawk aufmerksam geworden.
    Also hab ich das Web etwas durchstöbert in der Hoffnung etwas Tutorialmässiges zu t:panelNavigation(2) zu finden.
    Allerdings hab ich nichts brauchbares gefunden… (Z.B. gibt es auf http://www.irian.at/myfaces/panelnavigation_1.jsf eine Navigation wie ich sie mir Vorstelle, aber nur den jsf-source dazu. Und ich bin einfach zu unerfahren um gleich zu wissen, wie dann das entsprechende Bean dahinter aussehen muss).
    Also hier meine Frage an dich: kennst du entsprechende Tutorials oder kannst du mir evtl. gleich selbst helfen (beispielNav mit web.xml faces-config.xml, Bean,…)? Schreib doch einfach eine Mail. Wär dir sehr dankbar!

    Gruss
    BaseBallBatBoy

    PS: Ich hab folgende jar-Libs eingebunden: commons-beanutils, commons-collections, commons-digester, commons-logging, jstl, myfaces-api-1.1.4, myfaces-impl-1.1.4, tomahawk-1.1.3

  2. Der source-code zu allen Beispielen ist vom MyFaces-Repository auf der ASF herunterladbar! SVN-Client (z.B. Tortoise) ausgepackt, und los geht’s!

    lg,

    Martin

  3. Mit tomahawk-1.1.3 funktionieren die dynamischen Menüs nicht (z.B. panelnavigation_2.jsf).
    Mit tomahawk-1.1.6 klappts dann sofort.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s