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.

3 Antworten bis hierher ↓
BaseBallBatBoy // Februar 19, 2007 um 3:08 |
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
Martin Marinschek // Mai 17, 2007 um 9:31 |
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
ein user // August 23, 2007 um 4:31 |
Mit tomahawk-1.1.3 funktionieren die dynamischen Menüs nicht (z.B. panelnavigation_2.jsf).
Mit tomahawk-1.1.6 klappts dann sofort.