Wie kann man eine Sitzung in JSP-Seiten verwenden, um Informationen zu erhalten?
Ich habe eine JSP-Seite für die Bearbeitung einiger Benutzerinformationen verwendet. Wenn sich ein Benutzer auf der Website anmeldet, behalte ich die Informationen in der Sitzung, dann in meinem bearbeiten Seite versuche ich das folgende:
<%! String username=session.getAttribute("username"); %>
<form action="editinfo" method="post">
<table>
<tr>
<td>Username: </td><td> <input type="text" value="<%=username %>" /> </td>
</tr>
</table>
</form>
aber es kommt die Fehlermeldung, dass die Sitzung nicht aufgelöst werden kann. Was kann ich dagegen tun?
43
3
JSP implizite Objekte wie
session
,request
usw. sind innerhalb der JSP-Deklaration nicht verfügbar `` Tags.Sie könnten sie direkt in Ihrem Ausdruck verwenden als
Außerdem ist die Verwendung von Scriptlets in JSP schon lange veraltet. Die Verwendung von EL (Expression Language) und JSTL-Tags wird dringend empfohlen. Zum Beispiel könnten Sie hier EL verwenden als
Das Beste daran ist, dass die Bereichsauflösung automatisch erfolgt. Hier könnte username also aus den Bereichen page, request, session oder application stammen, in dieser Reihenfolge. Wenn Sie dies für eine bestimmte Instanz aufgrund einer Namenskollision außer Kraft setzen müssen, können Sie den Bereich explizit angeben als
Verwenden Sie
Beachten Sie, dass Ihre Verwendung von `
auf Klassenebene übersetzt wird, aber die Anfrage nur in der Methode
service()` des übersetzten Servlets verfügbar ist.Siehe, wie JSP-Code in ein Servlet übersetzt wird
hinzufügen ``