Sitzung.getAttribute() in JSP gibt null-Wert
Hier ist mein HTML-code in JSP
<select name="urlsel" id="selurl">
<option value="eng" name="eng"/>
<option value="mat" name="mat"/>
<option value="sci" name="sci"/>
</select>
<input type="submit" value="submit option" onsubmit="return validate()"/>
<% String opt=session.getAttribute("urlsel");
System.out.println("\n selected optiion is:+opt)
%>
Den oben genannten JSP-code gibt null Wert für opt. Ich habe versucht, mit request.getParameter("urlsel");
im JSP-noch immer null.
Möchte ich den ausgewählten Wert der option Antwort mit session.getAttribute("urlsel");
Wie ich es bekommen kann? Will ich diesen Wert in meinem servlet und servlet mit session.getAttribute("urlsel");
aber immer null.
Bitte helfen Sie mir.
Sind Sie je-Einstellung der session-Attribut? Da Sie versucht, sowohl ein session-Attribut und parameter anfordern, die nichts miteinander zu tun, ich vermute, dass Sie versuchen, etwas zu tun client-Seite? JSP macht keinen Sinn für, die.
Nicht im Bezug zu deiner Frage.. Du bist mit Scriplets das ist nicht mehr verwendet in diesen Tagen. Stattdessen ersetzen Sie Sie mit JSTL
Nicht im Bezug zu deiner Frage.. Du bist mit Scriplets das ist nicht mehr verwendet in diesen Tagen. Stattdessen ersetzen Sie Sie mit JSTL
InformationsquelleAutor user2515189 | 2013-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um Attribute aus einem Sitzung oder eine Anfrage, bevor Sie das tun, müssen Sie festlegen/hinzufügen, dass es irgendwo im code (d.h. ersten Attribute setzen, dann Sie Sie bekommen können).
So die kurze Antwort: in Ihrem Fall, anstatt
getAttribute(String name)
auf Sitzung oder Anfrage - Objekt, verwenden Sierequest.getParameter(String name)
.Was Sie versuchen zu erreichen, hier ist das abrufen von Parameter übergeben mittels HTML-Formular. Um dies zu tun, verwenden Sie
getParameter(String name)
Methode, wie:String selectValue = request.getParameter("urlsel")
Traditionell übergebenen Werte per HTTP form abgerufen werden in einem servlet - und dann können Sie tun, was Sie brauchen, um mit Ihnen zu tun.
Wie ich sehen kann, in Ihrem Beispiel, Sie tun dies PHP Weg. Zwar nicht die häufigste Art, in der Java Web Applikations-Entwicklung, aber Sie können rufen Sie übergebenen Parameter mit HTML-Formulars in der JSP aus der param implizite Objekt mit Die Expression Language (sollten Sie vermeiden von scriptlets in Ihre JSP).
Einfaches Beispiel
Dies ist ein einfaches Beispiel einer JSP-Seite zu präsentieren abrufen parameter übermittelt, die mit HTML form element auf der gleichen Seite (wie in deinem Beispiel):
test.jsp
Hinweis: die Verwendung von EL:
${param.course}
, wo "param" ist der name einer der implizite Objekte, und "natürlich" ist der name des wählen Sie - element, dessen Wert übergeben wurde, durch das Absenden des HTML-Formulars.Schauen Sie sich auch die folgende Antwort für weitere Informationen: Die übergabe von Variablen von JSP zu servlet.
P. S.
Können Sie es nützlich finden, Lesen Sie einige tutorials abdecken servlets und JSP. Hier ist ein beliebter tutorial mit schönen Erklärungen und leicht verständlichen Beispielen:
Beginn & Fortgeschrittene Servlet - & JSP-Tutorials
Danke )
Ich brauche den ausgewählten Wert nicht nur für eine Zeit, in der servlet.Meine jsp wird immer aktualisiert, für jede 10 Sekunden.In diesem Fall ist es nicht in der Lage, um die bereits ausgewählte option.So versuche ich mit sessions.Aber nicht in der Lage zu bekommen die Werte über die Sitzung.getAttribute()
Wie ich schon schrieb, Sie erste benötigen, um den Wert in session, nur dann Sie können es von dort. Wie
String selectValue = request.getParameter("urlsel"); request.getSession().setAttribute("urlsel", selectValue)
so etwas wie, dass. Plus Sie schrieb nie etwas über deine Seite zu aktualisieren und bewahren Sie den ausgewählten Wert. Bitte versuchen Sie genauer über die details, wenn Sie schreiben Ihre Frage.Ich habe gebucht die Antwort auf deine Frage, wo Sie beschrieben den refresh-Problem.
InformationsquelleAutor