Spring MVC как принять значение параметра GET HTTP-запроса в моем методе контроллера?
в этот период я изучаю пример Spring MVC showcase (загружаемый из STS dasboard), и у меня есть простой вопрос о Request Mapping примеры:
1) в моем home.jsp страница у меня эта ссылка:
<li>
<a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a>
</li>
как вы можете видеть по этой ссылке, я делаю запрос HTTP GET, имеющий параметр "foo", содержащий значение:"bar".
этот HTTP-запрос обрабатывается следующим методом класса контроллера MappingController:
@RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo")
public @ResponseBody String byParameter() {
return "Mapped by path + method + presence of query parameter! (MappingController)";
}
этот метод управления HTTP-запросом (только GET тип), которые имеют параметр с именем "foo"
как я могу взять значение ("бар") этого параметра и поместить его в переменную внутри кода моего метода параметра?
2 ответов:
Как поясняется в документация, С помощью
@RequestParamаннотация:public @ResponseBody String byParameter(@RequestParam("foo") String foo) { return "Mapped by path + method + presence of query parameter! (MappingController) - foo = " + foo; }
вы также можете использовать шаблон URI. Если вы структурировали свой запрос в restful URL Spring, он может проанализировать предоставленное значение из url.
HTML
<li> <a id="byParameter" class="textLink" href="<c:url value="/mapping/parameter/bar />">By path, method,and presence of parameter</a> </li>контроллер
@RequestMapping(value="/mapping/parameter/{foo}", method=RequestMethod.GET) public @ResponseBody String byParameter(@PathVariable String foo) { //Perform logic with foo return "Mapped by path + method + presence of query parameter! (MappingController)"; }
Comments