2013-10-09 2 views
17

, если я пишу в методе mycontroller:Каковы способы прохождения параметров от контроллера после перенаправления весной mvc?

return "redirect:url"; 

Какие параметры будут проходит в URL (это может быть, метод или контроллер страница JSP)?

+0

Все простые свойства в модели. Как описано здесь http://docs.spring.io/spring/docs/3.2.4.RELEASE/spring-framework-reference/html/mvc.html#mvc-redirecting. –

ответ

35

С RedirectAttributes, вы можете передать практически любые данные для перенаправления URL:

@RequestMapping(value="/someURL", method=GET) 
public String yourMethod(RedirectAttributes redirectAttributes) 
{ 
    ... 
    redirectAttributes.addAttribute("rd", "rdValue"); 
    redirectAttributes.addFlashAttribute("fa", faValue); 
    return "redirect:/someOtherURL"; 
} 

При использовании addAttribute для добавления атрибутов, это будет в конечном итоге в целевой URL переадресации. Эти атрибуты используются для построения параметров запроса, и клиент (браузер) отправит новый запрос на redirect URL с этими параметрами. При этом вы можете использовать String или примитивы в качестве атрибутов перенаправления.

И когда вы используете addFlashAttribute, эти атрибуты сохраняются временно перед перенаправлением (обычно в сеансе) и доступны для запроса после перенаправления и немедленно удаляются. Преимущество использования flashAttributes заключается в том, что вы можете добавить любой объект в качестве атрибута flash (так как он хранится в сеансе).

+0

Хорошо ... Я использовал RedirectAttributes, с request.getParameterMap(). И он работает нормально, чтобы перенаправить на новый URL со всеми URL-адресами. Пример: повторные маркетинговые параметры (utm_source) –

Смежные вопросы