Распорки 1.3:пересылать вне контекста приложения?
Вопрос
Распорки 1.3 применение.Основной веб-сайт НЕ обслуживается struts / Java.Мне нужно переслать результат действия struts на страницу веб-сайта, которая находится вне контекста struts.В настоящее время я переадресовываю JSP в контексте и использую мета-обновление для переадресации в реальное местоположение.Это кажется довольно отстойным.Есть ли способ получше?
Решение
Вы не можете "переслать", в строгом смысле этого слова.Просто позвони sendRedirect()
на HttpServletResponse
объект в вашем Action
класс execute()
метод, а затем, return null
.
В качестве альтернативы, либо вызовите setModule()
на ActionForward
объект (который вы собираетесь вернуть) или задайте путь к абсолютному URI.
Другие советы
В итоге я выполнил response.sendRedirect().
Если бы это все еще было в веб-приложении, вы могли бы использовать ServletContext.RequestDispatcher Сервлетконтекст.Запросдатчик?Вот как работает метод Struts doForward().Однако, чтобы выйти за пределы Struts / Java, вам нужна функция sendRedirect().
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
rd.forward(request, response);