복붙노트

[SPRING] @RequestParam은 정확히 무엇이며 어떻게 채워 집니까?

SPRING

@RequestParam은 정확히 무엇이며 어떻게 채워 집니까?

스프링 문서는 다음과 같이 말합니다 :

출처: http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestparam

AFAIK, 요청 매개 변수는 요청 메소드가 GET 인 경우 쿼리 문자열에서 검색된 변수입니다. 또한 요청 메소드가 POST 일 때 양식 값에서 검색 한 변수입니다. request.getParameter ( "key") 메서드를 통해 요청 매개 변수를 표시하는 간단한 JSP를 사용하여이를 확인했습니다.

그러나 @RequestParam은 GET 메서드 요청에서만 작동합니다. 쿼리 문자열에서만 값을 가져올 수 있습니다.

문서의 버그입니까? 누군가가 @RequestParam이 무엇을 위해 사용되는지, 어떻게 사용할 수 없는지, 어떻게 채워지는지를 설명하는 문서를 인용 할 수 있습니까?

POST 메서드에 @RequestParam을 사용하여 양식 값을 가져올 수 있습니까? @RequestParam을 사용할 수 없다면 무엇을 사용할 수 있습니까? request.getParameter ( "key") 호출을 피하려고합니다.

해결법

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

    1.게시물과도 작동합니다. 당신은 당신의 방법 몸과 당신 html을 게시 할 수 있습니까?

    게시물과도 작동합니다. 당신은 당신의 방법 몸과 당신 html을 게시 할 수 있습니까?

  2. ==============================

    2.그렇습니다. post 메소드에서도 완벽하게 작동합니다. @RequestParam의 메소드 속성을 RequestMethod = POST로 언급 할 수 있습니다. 다음은 코드 스 니펫입니다.

    그렇습니다. post 메소드에서도 완벽하게 작동합니다. @RequestParam의 메소드 속성을 RequestMethod = POST로 언급 할 수 있습니다. 다음은 코드 스 니펫입니다.

    @RequestMapping(value="/register",method = RequestMethod.POST)
    
    public void doRegister
    (
    
        @RequestParam("fname") String firstName,
        @RequestParam("lname")String lastName,
        @RequestParam("email")String email,
        @RequestParam("password")String password 
    )
    
  3. ==============================

    3.단일 양식 값에 바인딩하는 @RequestParam 대신 @ModelAttribute 주석을 사용하고 전체 개체에 바인딩 할 수 있습니다. 그러나 이것은 폼의 형태로 사용되거나 Spring의 JSTL을 바인딩해야합니다.

    단일 양식 값에 바인딩하는 @RequestParam 대신 @ModelAttribute 주석을 사용하고 전체 개체에 바인딩 할 수 있습니다. 그러나 이것은 폼의 형태로 사용되거나 Spring의 JSTL을 바인딩해야합니다.

    예: - JSP 페이지를 호출하는 컨트롤러는 모델에 객체를 추가해야합니다.

    @RequestMapping(value="/uploadForm", method=RequestMethod.GET)
    

    public String showUploadForm (모델 모델) {

    Artist artist = new Artist();
    Track track = new Track();
    
    model.addAttribute("artist", artist);
    model.addAttribute("track", track);
    
    
    return "uploadForm";
    

    }

    트랙 제목 * :

    여기에 @ModelAttribute 주석 사용에 대한 좋은 설명이 있습니다. - krams915.blogspot.ca

  4. from https://stackoverflow.com/questions/8652074/what-exactly-is-requestparam-and-how-does-it-get-populated by cc-by-sa and MIT license