Struts Tiles - Menu Layout veränderbar

Angins

Mitglied
Hallo zusammen,

Ich benutze in meinem neuen Projekt Struts Tiles.
Ich habe die Seite in folgende Bereiche aufgeteilt: header, menu und content

Im Menü kann man einen Link auswählen, der danach im content erscheint.
Nun möchte ich das im Menü, jeweils der ausgewählte Link eine andere Farbe bekommt. Jedoch habe ich keine Ahnung wie ich das anstellen kann.

Kann mir jemand weiterhelfen?

Gruss
Angins
 
Das hat mit Tiles nichts zu tun. Das machst Du entweder mit Javascript oder Serverseitig, indem du jedem Menülink einen Zustand verpasst, welchen du dann abfragst und dem entsprechend einen zugehörigen stylesheet zuweist.
 
Richtig, bei IE gibt es dazu auch verschiedene CSS-Befehle für angeklickte Links, neue Links oder wie ein Link aussehen soll, wenn man mit der Maus drüberfährt usw.

Gruss
Cengiz
 
cengizhdde hat gesagt.:
Richtig, bei IE gibt es dazu auch verschiedene CSS-Befehle für angeklickte Links, neue Links oder wie ein Link aussehen soll, wenn man mit der Maus drüberfährt usw.
Ich glaub, es ging nicht darum Links im IE (oder allen anderen Browsern, die auch CSS können) bunt zu machen, sondern auf der neu aufgebauten Seite zu wissen, welcher Menüpunkt gerade aktiv ist.

Vorschlag: du übergibst ja mit dem Link irgendwie einen Schlüssel für die anzuzeigende Seite. Ich würde jetzt einen TilesController schreiben der exakt diesen Schlüssel auswertet und darin ein menüelement als markiert definiert. z.B.(Pseudocode):
Code:
String content = request.getParameter("content");
tilesContext.setParameter("selected",content);
Den Controller hängst du dann einfach an die Tiles definition:
Code:
<definition name="menu" controllerClass="mein.package.MenuController">
  ...
</definition>
In deiner jsp machst du dann:
Code:
<tiles:useAttribute name="selected" />
...
<table>
  <c:forEach items="menuItems" var="menuItem">
    <tr <c:if test="${selected == menuItem.contentKey}">class="currentMenuItem"</c:if>>
      ...
    </tr>
  </c:forEach>
</table>
So in der Art. Schlag mich nicht, wenn irgend ein Attribut leicht anders heißt, aber das prinzip sollte verständlich sein.

Gruß
Ollie
 

Neue Beiträge

Zurück