Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are ways for pass parameters from controller after redirect in spring mvc?

if I write in mycontroller method:

return  "redirect:url"; 

What parameters will passes to url(it maybe controler method or jsp page) ?

like image 541
gstackoverflow Avatar asked Oct 09 '13 08:10

gstackoverflow


People also ask

How pass data from one controller to another in spring boot?

You could inject the other controller in this controller and invoke the method passing the model as parameters. Say @Autowired OtherController otherCtrl ... then inside otpSubmit method otherCtrl. someMethod(model) .

How use redirect attribute in Spring MVC?

You can use RedirectAttributes to store flash attributes and they will be automatically propagated to the "output" FlashMap of the current request. A RedirectAttributes model is empty when the method is called and is never used unless the method returns a redirect view name or a RedirectView.

What is the difference between forward and redirect in Spring MVC?

Forward: is faster, the client browser is not involved, the browser displays the original URL, the request is transfered do the forwarded URL. Redirect: is slower, the client browser is involved, the browser displays the redirected URL, it creates a new request to the redirected URL.


1 Answers

With RedirectAttributes, you can pass almost any data to the redirect URL:

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

When you use addAttribute to add attributes, this will end up in the target redirect URL. These attributes are used to construct the request parameters and the client (browser) will send a new request to the redirect URL with these parameters. With this, you are limited to use String or primitives as your redirect attributes.

And when you use addFlashAttribute, these attributes are saved temporarily before the redirect (typically in the session) and are available to the request after the redirect and removed immediately. The advantage of using flashAttributes is that, you can add any object as a flash attribute (as it is stored in session).

like image 107
Debojit Saikia Avatar answered Sep 17 '22 12:09

Debojit Saikia