Struts 1.3: transférer en dehors du contexte de l'application?
Question
Application Struts 1.3. Le site principal n'est PAS desservi par struts / Java. Je dois transmettre le résultat d'une action struts à une page du site Web située en dehors du contexte de struts. Actuellement, je transfère à un JSP dans un contexte et utilise une méta-actualisation pour transférer à l'emplacement réel. Cela semble un peu nul. Y a-t-il un meilleur moyen?
La solution
Vous ne pouvez pas "transmettre" au sens strict. Appelez simplement sendRedirect ()
sur l'objet HttpServletResponse
dans votre méthode Action
de la classe execute ()
, puis retourne null
.
Vous pouvez également appeler setModule ()
sur l'objet ActionForward
(que vous allez renvoyer) ou définir le chemin d'accès à un URI absolu.
Autres conseils
J'ai fini par faire answer.sendRedirect ().
Si cela se trouvait toujours dans l'application Web, vous pouvez utiliser ServletContext.RequestDispatcher ? Voilà comment fonctionne la méthode Struts doForward (). Cependant, pour sortir de Struts / Java, vous avez besoin de sendRedirect ().
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);