2009-05-29 4 views
0

Nun neu zu den Java-Sachen und Probleme beim Zuweisen eines Klassenattributs zu diesen SELECT-Optionen. wollte wissen, ob die listClass korrekt ist? Was ich versuche zu erreichen ist eine Klasse Attribut hinzufügen, um die Optionen eines SELECT DropdownListe der Java-Struts-ListenKey listValue listClass?

Was ich habe:

<select> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="ford">F150</option> 
</select> 

Was ich möchte:

<select> 
    <option class="car" value="volvo">Volvo</option> 
    <option class="car" value="saab">Saab</option> 
    <option class="car" value="mercedes">Mercedes</option> 
    <option class="truck" value="ford">F150</option> 
</select> 

Hier der JSP-Code:

<s:select id="theSelectId" 
    name="theDto.id" 
    value="#attr.theDto.field_id" 
    list="theDtoList" 
    listKey="field_id" 
    listValue="field_value"/> 

Gibt es eine listClass? oder eine andere Art, die Werte zu ziehen, die ich brauche?

Antwort

0

Ich habe gerade eine kurze Überprüfung der Struts Tag lib API und es sieht aus wie das styleClass Attribut für das Struts select Tag wird ein Klassenattribut erstellen.

http://struts.apache.org/1.x/struts-taglib/tlddoc/html/select.html

+0

Hmm danke für den Link und ich habe die styleClass = "theDto.field_id" hinzugefügt, aber dies zeigt sich als nicht identifizierter Attributname. Ich kann cssClass verwenden, aber das fügt dem SELECT-Tag nur die Klasse hinzu und nicht die Optionen sowie die Objektwerte für die Optionen. –

0

Dazu Ich vermute, dass Sie Ihre eigenen Tag rollen müssen. Sie können ein neues myselect-Tag erstellen, das einen optionClass-Parameter akzeptiert, der diese Klasse für jedes option-Element festlegt.

+0

Das hört sich nach der Lösung an, die ich brauche, aber ich habe keine Ahnung, wie ich mein eigenes Tag schreiben soll, irgendwelche Gedanken darüber, wo ich anfangen könnte? –

+0

Verwenden Sie struts1.x oder struts2? –

0

Klingt wie Struts s: wählen Sie das gleiche Problem wie JSF h hat: selectOneMenu: die Unfähigkeit für jede einzelne Option, um eine Klasse specifiy. Ich mache keine Sruts, deshalb kann ich keine detaillierte und Struts-spezifische Antwort geben, aber auf den Punkt, müssen Sie den Renderer der s: select-Komponente ändern/überschreiben, so dass Sie schließlich ein zusätzliches Attribut benötigen kann die Optionsklassen angeben. So etwas wie in this JSF example getan.

Wenn Sie dies nicht in der Server-Seite zu tun, wegen der Beschränkungen in Streben oder Einschränkungen in Ihren Fähigkeiten, dann sollten Sie eine Javascript-Bibliothek, wie der oben genannte jQuery verwenden. Ein Beispiel wäre dann:

Verwandte Themen