Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring MVC How take the parameter value of a GET HTTP Request in my controller method?

In this period I am studing the Spring MVC showcase example (downloadable from STS dasboard) and I have some simple question about the Request Mapping examples:

1) In my home.jsp page I have this link:

        <li>             <a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a>         </li> 

As you can see by this link I am doing an HTTP GET Request having a "foo" parameter containing the value: "bar".

This HTTP Request is handled by the following method of the controller class MappingController:

@RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo") public @ResponseBody String byParameter() {     return "Mapped by path + method + presence of query parameter! (MappingController)"; } 

This method manage HTTP Request (only GET type) that have a parameter named "foo"

How can I take the value ("bar") of this parameter and put it in a variable inside the code of my by Parameter method?

like image 724
AndreaNobili Avatar asked Nov 18 '12 17:11

AndreaNobili


People also ask

How do I access http request in controller?

To access HttpRequest from controller you just need to define HttpServletRequest and HttpServletResponse as parameters in a function signature of your Controller. by doing this you allowing Spring MVC to pass these objects to you controller method.

Can we use @RequestParam in Get method?

Use the @RequestParam annotation to bind request parameters to a method parameter in your controller. AFAIK, request parameters are variables retrieved from query strings if the request method is GET. They are also the variables retrieved from the form values when the request method is POST.

What is the @RequestMapping annotation used for?

annotation. RequestMapping annotation is used to map web requests onto specific handler classes and/or handler methods. @RequestMapping can be applied to the controller class as well as methods.

What is the use of @RequestMapping in Spring?

One of the most important annotations in spring is the @RequestMapping Annotation which is used to map HTTP requests to handler methods of MVC and REST controllers. In Spring MVC applications, the DispatcherServlet (Front Controller) is responsible for routing incoming HTTP requests to handler methods of controllers.


Video Answer


1 Answers

As explained in the documentation, by using an @RequestParam annotation:

public @ResponseBody String byParameter(@RequestParam("foo") String foo) {     return "Mapped by path + method + presence of query parameter! (MappingController) - foo = "            + foo; } 
like image 65
JB Nizet Avatar answered Sep 30 '22 09:09

JB Nizet