Gewusst wie: senden von Parametern aus einem servlet
Ich bin versucht, einen RequestDispatcher, um senden Parameter aus einem servlet.
Hier mal mein servlet-code:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String station = request.getParameter("station");
String insDate = request.getParameter("insDate");
//test line
String test = "/response2.jsp?myStation=5";
RequestDispatcher rd;
if (station.isEmpty()) {
rd = getServletContext().getRequestDispatcher("/response1.jsp");
} else {
rd = getServletContext().getRequestDispatcher(test);
}
rd.forward(request, response);
}
Hier ist mein jsp, mit dem code zu Lesen, der Wert - aber es zeigt null.
<h1>response 2</h1>
<p>
<%=request.getAttribute("myStation") %>
</p>
Vielen Dank für alle Vorschläge.
Grüner
- RequestDispatcher wird nicht verwendet Parameter zu Lesen. Daher habe ich Ihren Beitrag bearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem servlet verwenden Anfrage.setAttribute in der folgenden Art und Weise
wo Wert passiert zu sein, das Objekt, das Sie möchten, um Sie später zu Lesen.
extrahieren und es später in einem anderen servlet/jsp mit Anfrage.getAttribute als
oder
Tun, beachten Sie, dass der Umfang der Verwendung der get/setAttribute, ist beschränkt, die Natur - Attribute zurückgesetzt werden zwischen den Anfragen. Wenn Sie beabsichtigen, die Werte speichern für länger, sollten Sie den session-oder application-Kontext, oder besser eine Datenbank.
Attribute unterscheiden sich von Parametern, in, dass der client nie die Einstellung der Attribute. Attribute sind mehr oder weniger die von Entwicklern verwendet werden, um transfer-Zustand aus einer servlet - /JSP-zu einem anderen. So sollten Sie verwenden getParameter (es gibt keine setParameter) zum extrahieren von Daten aus einem request, Attribute setzen, wenn nötig mit setAttribute, leiten Sie die Anfrage intern mit RequestDispatcher und extrahieren der Attribute mit getAttribute.
Verwenden getParameter(). Ein Attribut ist gesetzt und gelesen werden intern innerhalb der Anwendung.
In Ihrem code,
String test = "/response2.jsp?myStation=5";
Den Sie hinzufügen myStation=5 als query-string.Als die query-string-Parameter gespeichert sind
als request-Parameter im Request-Objekt.
Daher können Sie verwenden ,
Funktioniert es einwandfrei.Danke.