Struts 1.3:in avanti al di fuori del contesto dell'applicazione?
Domanda
Struts 1.3 applicazione.Sito web principale NON è servita da struts/Java.Ho bisogno di trasmettere il risultato di un struts azione a una pagina di un sito web, che è al di fuori dei puntoni contesto.Attualmente, I forward ad una JSP nel contesto e usare un meta-aggiornamento per l'inoltro alla posizione reale.Che sembra un pò una schifezza.C'è un modo migliore?
Soluzione
Non si può "avanti", in senso stretto.Basta chiamare sendRedirect()
sul HttpServletResponse
oggetto Action
classe execute()
metodo e quindi, return null
.
In alternativa, chiamare setModule()
sul ActionForward
oggetto (che si sta andando a di ritorno) o impostare il percorso di un URI assoluto.
Altri suggerimenti
Ho finito di fare risposta.sendRedirect().
Se questo era ancora nell'applicazione web, è possibile utilizzare ServletContext.RequestDispatcher?Ecco come Struts doForward() il metodo funziona.Tuttavia, per andare fuori Struts/Java, è necessario il sendRedirect().
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);