Struts 1.3: außerhalb des Anwendungskontext übermitteln?
Frage
Struts 1.3-Anwendung. Haupt Website ist nicht durch Streben / Java serviert. Ich brauche das Ergebnis einer Streben Aktion auf eine Seite in der Website zu übermitteln, das heißt außerhalb der Streben Kontextes. Derzeit ich eine JSP in Zusammenhang weiterleiten und einen Meta-Refresh verwenden, um die realen Lage zu übermitteln. Das scheint irgendwie sucky. Gibt es einen besseren Weg?
Lösung
Sie können nicht „vorwärts“, im engeren Sinne. Rufen Sie einfach sendRedirect()
auf dem HttpServletResponse
Objekt in Ihrer Action
Methode der execute()
Klasse und dann return null
.
Alternativ entweder Anruf setModule()
auf dem ActionForward
Objekt (das Sie zurückkommen werden) oder den Pfad zu einem absoluten URI gesetzt.
Andere Tipps
ich am Ende tun response.sendRedirect ().
Wenn dies noch in der Web-Anwendung ist, konnte man a href verwenden <= "http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/RequestDispatcher.html" rel = "nofollow noreferrer"> ServletContext.RequestDispatcher ? Das ist, wie die Struts doForward () Methode funktioniert. Jedoch außerhalb Struts / Java zu gehen, müssen Sie die sendRedirect ().
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);