Frage

<c:set var="nameLookup" value="${names}" />
<c:forEach var="result" items="${results}">
    <tr>        
        <td>${result.uglyDisplayName}</td>
        <td>${result.phonenum}</td>
    </tr>
</c:forEach>

Dies ist ein Auszug aus einem jsp ich zu bearbeiten bin versucht.

Ergebnisse wird ein List<Object> wird in der Modeland von der Steuerung zurückgeführt, von denen jedes Object eine getUglyDisplayName und getPhonenum hat. Ich bin nicht wirklich klar, wie das funktioniert. Ich denke, die jsp etwas getClass().getName() oder etwas hinter den Kulissen tun? Alle Hinweise auf dieses Prozesses wäre aufschlussreich. Wie auch immer, dass ein Teil funktioniert.

In der Steuerung habe ich ein anderes Objekt hinzugefügt in dem Modeland zurückgegeben werden. Es ist eine HashMap, die schönere Anzeigenamen, für die die hässlichen Anzeigenamen sind die Schlüssel hat. Deshalb möchte ich mit so etwas wie dies, dass die erste td ersetzen:

<td>${nameLookup.get(result.uglyDisplayName)}</td>

Das funktioniert nicht, natürlich, sonst wäre ich nicht hier sein Posting. Ich ging weiter und setzte einen var auf den Namen ich die HashMap in dem Modeland setzte unter (obere Zeile), aber ich bin mir nicht sicher, ob das der richtige Weg, um das Objekt zu erhalten.

War es hilfreich?

Lösung

Für den ersten Teil ( "was JSP tut") sehen die JSP Expression Language .

Für den zweiten Teil, versuchen Sie:

<td>${nameLookup[result.uglyDisplayName]}</td>

möchte ich nicht auf schwören es wird funktionieren (es ist eine lange Zeit, da ich JSP benutzt habe), aber es ist einen Versuch wert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top