복붙노트

[SPRING] Spring MVC 컨트롤러 메서드에서 GET HTTP 요청의 매개 변수 값을 얻는 방법은 무엇입니까?

SPRING

Spring MVC 컨트롤러 메서드에서 GET HTTP 요청의 매개 변수 값을 얻는 방법은 무엇입니까?

이 기간에 나는 봄 MVC 쇼케이스 예제 (STS 대시 보드에서 다운로드 가능)를 연구 중이며 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>

이 링크에서 볼 수 있듯이 "foo"매개 변수 ( "bar")가 포함 된 HTTP GET Request를 수행하고 있습니다.

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

이 메소드는 "foo"라는 매개 변수가있는 HTTP 요청 (GET 유형 만)을 관리합니다.

어떻게이 매개 변수의 값 ( "bar")을 가져 와서 매개 변수 내 메서드의 코드 안에 변수에 넣을 수 있습니까?

해결법

  1. ==============================

    1.문서에 설명 된대로 @RequestParam 주석을 사용하면 다음과 같습니다.

    문서에 설명 된대로 @RequestParam 주석을 사용하면 다음과 같습니다.

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

    2.URI 템플릿을 사용할 수도 있습니다. 편안한 URL에 요청을 구성한 경우 Spring은 제공된 값을 URL에서 파싱 할 수 있습니다.

    URI 템플릿을 사용할 수도 있습니다. 편안한 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)";
    }
    

    Spring URI 템플릿 문서

  3. from https://stackoverflow.com/questions/13442678/spring-mvc-how-take-the-parameter-value-of-a-get-http-request-in-my-controller-m by cc-by-sa and MIT license