Ich habe eine Variable von einem Objekt auf meiner JSP-Seite:
<%= ansokanInfo.getPSystem() %>
Der Wert der Variablen ist NAT, was korrekt ist, und ich möchte bestimmte Seitenelemente für diesen Wert anwenden. Wie verwende ich ein Tag, um den Fall zu kennen? Ich habe so etwas versucht
<c:if test = "${ansokanInfo.getPSystem() == 'NAT'}">
process
</c:if>
Aber das Obige zeigt nichts an. Wie soll ich das machen Oder kann ich genauso gut Scriptlets verwenden, dh
<% if (ansokanInfo.getPSystem().equals("NAT"){ %>
process
<% } %>
Vielen Dank für jede Antwort oder Kommentar.
getPSystem()
undansokanInfo
? Stellen Sie sie in der Anfrage ein oder greifen Sie über sie zuimport
?Antworten:
Versuchen:
JSP / Servlet 2.4 (ich denke, das ist die Versionsnummer) unterstützt keine Methodenaufrufe in EL und nur Eigenschaften. Die neuesten Servlet-Container unterstützen Methodenaufrufe (z. B. Tomcat 7).
quelle
<c:if test = "${ansokanInfo.PSystem == 'NAT' || ansokanInfo.PSystem == 'CAT'}">
quelle
Ich denke, die anderen Antworten vermissen ein wichtiges Detail bezüglich des Eigenschaftsnamens, der im EL-Ausdruck verwendet werden soll. Die Regeln für die Konvertierung von Methodennamen in Eigenschaftsnamen sind in 'Introspector.decpitalize' angegeben , das Teil des Java-Bean-Standards ist:
In Ihrem Fall sollte der JSTL-Code also wie folgt aussehen: Beachten Sie das Großbuchstaben 'P':
quelle
Sie können Scriptlets verwenden, dies ist jedoch nicht der richtige Weg. Heutzutage werden Inline-Scriplets oder JAVA-Code in Ihren JSP-Dateien als schlechte Angewohnheit angesehen.
Sie sollten etwas mehr über JSTL lesen. Wenn sich das ansokanInfo-Objekt in Ihrem Anforderungs- oder Sitzungsbereich befindet, können Sie das Objekt (toString () -Methode) wie folgt drucken: $ {ansokanInfo} kann Ihnen einige Basisinformationen geben. $ {ansokanInfo.pSystem} sollte die Objekt-Getter-Methode aufrufen. Wenn dies alles funktioniert, können Sie Folgendes verwenden:
quelle