Warum verlangen.getRequestDispatcher nicht funktioniert?
Ich habe einen main JSP-und Prozess-JSP. Im Prozess jsp-ich bin Begehung der Antwort und leitet die Antwort auf eine Erfolg-Seite.
request.getRequestDispatcher("success.jsp").forward(request, response);
Ich bin in der Lage zu Begehen, die Antwort der server-Seite. Prozess jsp ist auch in der Lage, uns die Antwort auf Erfolg JSP.
Aber die url zeigt beispielsweise: http://process.jsp?param1=value1&parm2=Wert2
Ich möchte, dass meine Ausgabe eine Anzeige sauber wie in der url - http://success.jsp
Bitte Beachten Sie: Dies funktioniert perfekt für die Java-Servlet, ich habe es gerade ausprobiert.
Ich bin mit nur JSP anstelle von Java servelet, denn das ist unser Projekt erforderlich.
Kann mir jemand empfehlen, eine Lösung für dieses?
InformationsquelleAutor smiley | 2012-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
RequestDispatcher#forward()
Soll vorwärts sowohl die request-und die response-Objekte, um weitere Ressourcen innerhalb des Servers. Keine Antwort geht zurück an den client, wenn Sie eineforward()
ist, und deshalb zeigt der client die gleichen Start-URL ein.Für den Kunden zu zeigen, eine andere URL, die Sie verwenden könnten,
HttpServletResponse#sendRedirect()
. Diese geht zurück an den client, die es tun, eine neue Anforderung an die URL, die Sie möchten. So ändern Sie es:Denken Sie daran, nicht zu Begehen, die Antwort bevor Sie dies tun, oder Sie erhalten eine
IllegalStateException
Warum Sie sagen, dass auf ein Servlet funktioniert, ich bin nicht sicher, warum, aber nicht wie
forward()
funktionieren soll, und JSP sind Servlets kompiliert, so dass am Ende Sie sich Verhalten sollten die gleichen.Die container sind verwenden Sie?
InformationsquelleAutor betomontejo