, если я пишу в методе mycontroller:Каковы способы прохождения параметров от контроллера после перенаправления весной mvc?
return "redirect:url";
Какие параметры будут проходит в URL (это может быть, метод или контроллер страница JSP)?
, если я пишу в методе mycontroller:Каковы способы прохождения параметров от контроллера после перенаправления весной mvc?
return "redirect:url";
Какие параметры будут проходит в URL (это может быть, метод или контроллер страница JSP)?
С 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 (так как он хранится в сеансе).
Хорошо ... Я использовал RedirectAttributes, с request.getParameterMap(). И он работает нормально, чтобы перенаправить на новый URL со всеми URL-адресами. Пример: повторные маркетинговые параметры (utm_source) –
Все простые свойства в модели. Как описано здесь http://docs.spring.io/spring/docs/3.2.4.RELEASE/spring-framework-reference/html/mvc.html#mvc-redirecting. –