Ich verwende diesen Code in JSF.:
%Vor% sv
ist meine Klasse mit Daten (pojo), done ist eine Boolean
Variable, ich möchte option
tag mit selected
Attribut anzeigen, wenn sV.done
is true
ist.
Aber ich konnte es nicht schaffen. Ich weiß nicht, wo ich falsch liege.
Sonst kann etwas mit c
nicht stimmen, weil c:forEach
in meinem Fall auf der gleichen Seite nicht vor einiger Zeit funktionierte? Es kann der Grund sein? Wo ich falsch liege?
Jedes Mal, wenn das Optionsfeld ohne ausgewähltes attribute
angezeigt wird.
Versuchen Sie Folgendes: -
%Vor%Und für die Negation (wenn sV.done falsch ist): -
%Vor%Weitere Informationen zu wenn mit Operatoren finden Sie unter folgendem Link: - JSTL if
Ihre Syntax ist gut, vorausgesetzt, Sie verwenden EL 2.2. Also, keiner der JSTL <c:xxx>
Tags wurde interpretiert? Sie müssen die JSTL-Core-Taglib importieren. Es ist unklar, welche Ansichtstechnologie und welche JSTL-Version Sie verwenden, daher hier einige Beispiele für JSP und Facelets.
JSP mit JSTL 1.0:
%Vor%JSP mit JSTL 1.1 / 1.2:
%Vor%Facelets 1.x mit JSTL 1.1 / 1.2:
%Vor%Facelets 2.x mit JSTL 1.2:
%Vor% Unrelated zum konkreten Problem, haben Sie überlegt, eine JSF UISelectOne
-Komponente zu verwenden, anstatt selbst mit <option>
elementen zu spielen? Sie können einige konkrete Beispiele in unserer h:selectOneMenu
-Wiki-Seite finden.
JSF und JSTL greifen direkt auf "boxed" Objekte (Boolean, Integer usw.) zu. Es ist kein Unboxing erforderlich - Sie müssen also booleanValue () nicht aufrufen.
%Vor%Aber eigentlich könnte Ihr gesamter Ansatz besser sein - ich gebe keine Optionen in einer Seite aus, ohne eine Liste von Optionen & amp; ein Wert. Ich schreibe keine Schleifen & amp; Auswahltests jedes Mal manuell, gibt es Tags oder Sie können eine Methode schreiben, um dies zu tun.
Super Hinweis: Ich habe eine Klasse namens Pair (String name, Objektwert) & amp; Bibliotheksmethode HtmlUI.renderSelectOptions (), um SELECT-Optionen aus einer Liste dieser & amp; ein 'aktueller' Wert.
Wählen Combo-Box möglicherweise nicht wirklich die beste Darstellung für einen Boolean entweder? Sie könnten mit einer Checkbox gehen. Aber das liegt an Ihrem UI-Design.
Wenn Sie diesen Weg gehen wollten, könnten Sie nur das SELECTED-Attribut innerhalb des Tags wechseln. Einfacher als duplizieren Code für die gesamte, Schlüssel & amp; value .. Für Legacy-Code habe ich eine Funktion, die genau diese Anforderung auch erfüllt:)
Hoffe, das hilft! Stimme mich ab.