Ответ 1
С помощью 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 (поскольку он хранится в сеансе).