Suportes 1.3:encaminhar fora do contexto do aplicativo?
Pergunta
Aplicativo Struts 1.3.O site principal NÃO é servido por struts/Java.Preciso encaminhar o resultado de uma ação do struts para uma página do site, que está fora do contexto do struts.Atualmente, encaminho para um JSP no contexto e uso uma meta-atualização para encaminhar para o local real.Isso parece meio chato.Existe uma maneira melhor?
Solução
Você não pode “encaminhar”, no sentido estrito.Apenas ligue sendRedirect()
no HttpServletResponse
objeto em seu Action
aula execute()
método e então, return null
.
Como alternativa, ligue setModule()
no ActionForward
objeto (que você retornará) ou defina o caminho para um URI absoluto.
Outras dicas
Acabei fazendo response.sendRedirect().
Se isso ainda estivesse no aplicativo da web, você poderia usar ServletContext.RequestDispatcher?É assim que funciona o método Struts doForward().No entanto, para sair do Struts/Java, você precisa do sendRedirect().
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);