sirve requestmapping que pasar para mvc modelo formulario entre ejemplo datos controladores basico java spring http parameters request

java - requestmapping - spring basico



Spring MVC ¿Cómo se toma el valor del parámetro de una solicitud GET HTTP en mi método de controlador? (2)

En este período, estoy estudiando el ejemplo de Spring MVC showcase (descargable desde STS dasboard) y tengo una pregunta simple sobre los ejemplos de Request Mapping :

1) En mi página home.jsp tengo este enlace:

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

Como puede ver en este enlace, estoy haciendo una solicitud HTTP GET que tiene un parámetro "foo" que contiene el valor: "bar".

Esta solicitud HTTP se maneja mediante el siguiente método de la clase controladora MappingController:

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

Este método administra la solicitud HTTP (solo tipo GET ) que tiene un parámetro llamado "foo"

¿Cómo puedo tomar el valor ("barra") de este parámetro y ponerlo en una variable dentro del código de mi por el método de parámetros?


Como se explica en la documentación , al usar una anotación @RequestParam :

public @ResponseBody String byParameter(@RequestParam("foo") String foo) { return "Mapped by path + method + presence of query parameter! (MappingController) - foo = " + foo; }


También podría usar una plantilla de URI. Si ha estructurado su solicitud en una URL relajante, Spring podría analizar el valor proporcionado de la url.

HTML

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

Controlador

@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)"; }

Documentación de la plantilla URI de primavera