Moin... - ich werd grad wahnsinnig
Ich will bei der Darstellung eines <select> Ein Element meiner Liste als "Default"-Element verwenden und hab an selected="selected" gedacht für das option-tag.
Kurz gesagt geht's um die Anzeige von Details eines Mitarbeiters, der einer bestimmten Firma angehört... alle möglichen Firmen werden in dieser select-Liste angezeigt und die aktuelle Firma zu der der MA gehört, soll natürlich die standardmäßig ausgewählt sein... - so weit so gut, hab ich gedacht ich mach das mit <c:choose>:
Also wenn opt.name == corp gilt (er nimmt da implizit equals), soll er die option mit selected ausgeben, sonst nicht. Opt ist eine Corporation die ein entsprechendes Attribut name hat und corp ist das Attribut mit dem String der die aktuelle Corporation beinhaltet des Users... - beide Variablen haben die gewünschten Inhalte und die Ausgabe oben (opt.name == corp) ergibt richtig einmal true und einmal false bei zwei Firmen in der Liste. Aaaber! und das ist das Merkwürdige - er geht in den when-Fall nicht rein, wie man mit nem Debugger eindeutig erkennen kann... - er geht immer ins otherwise!
Was mach ich also falsch - ist das sowieso Grütze? - kann man das besser lösen?
Ich will bei der Darstellung eines <select> Ein Element meiner Liste als "Default"-Element verwenden und hab an selected="selected" gedacht für das option-tag.
Kurz gesagt geht's um die Anzeige von Details eines Mitarbeiters, der einer bestimmten Firma angehört... alle möglichen Firmen werden in dieser select-Liste angezeigt und die aktuelle Firma zu der der MA gehört, soll natürlich die standardmäßig ausgewählt sein... - so weit so gut, hab ich gedacht ich mach das mit <c:choose>:
Code:
<select multiple="multiple" name="corp" >
<c:forEach var="opt" items="${Corporations.corporations}">
<c:out value="${opt.name == corp}" />
<c:choose>
<c:when test="${opt.name == corp} ">
<option selected="selected"><c:out value="${opt}" /></option>
</c:when>
<c:otherwise>
<option><c:out value="${opt}" /></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
Also wenn opt.name == corp gilt (er nimmt da implizit equals), soll er die option mit selected ausgeben, sonst nicht. Opt ist eine Corporation die ein entsprechendes Attribut name hat und corp ist das Attribut mit dem String der die aktuelle Corporation beinhaltet des Users... - beide Variablen haben die gewünschten Inhalte und die Ausgabe oben (opt.name == corp) ergibt richtig einmal true und einmal false bei zwei Firmen in der Liste. Aaaber! und das ist das Merkwürdige - er geht in den when-Fall nicht rein, wie man mit nem Debugger eindeutig erkennen kann... - er geht immer ins otherwise!
Was mach ich also falsch - ist das sowieso Grütze? - kann man das besser lösen?