복붙노트

[SPRING] 스프링 mvc를 사용하여 @RequestParam을 사용하여 여러 매개 변수를 캡처하는 방법?

SPRING

스프링 mvc를 사용하여 @RequestParam을 사용하여 여러 매개 변수를 캡처하는 방법?

다음 매개 변수 목록 myparam = myValue1 & myparam = myValue2 & myparam = myValue3을 사용하여 하이퍼 링크를 클릭하고 url을 시작한다고 가정합니다. 이제 봄 mvc에서 @RequestRaram을 사용하여 모든 매개 변수를 캡처 할 수 있습니까?

내 요구 사항은 모든 매개 변수를 캡처하여지도에 넣어야한다는 것입니다.

도와주세요!

해결법

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

    1.

    @RequestMapping(value = "users/newuser", method = RequestMethod.POST)   
    public String saveUser(@RequestParam Map<String,String> requestParams) throws Exception{
       String userName=requestParams.get("email");
       String password=requestParams.get("password");
    
       //perform DB operations
    
       return "profile";
    }
    

    위에서 언급 한 방식으로 RequestParam을 사용할 수 있습니다.

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

    2.네가 얻을 수없는 것 같아.

    네가 얻을 수없는 것 같아.

    Map<String,String>
    

    모든 매개 변수가 같은 이름을 갖고 있기 때문에 "myparam"

    대신 다음을 시도하십시오.

    public ModelAndView method(@RequestParam("myparam") List<String> params) { }
    
  3. ==============================

    3.모든 매개 변수를 한 번에 가져 오려면 다음을 시도하십시오.

    모든 매개 변수를 한 번에 가져 오려면 다음을 시도하십시오.

    public ModelAndView postResultPage(@RequestParam MultiValueMap<String, String> params)
    

    이 기능은 @RequestParam java doc (3 단락)에 설명되어 있습니다.

  4. ==============================

    4.Spring 3.0부터 MultiValueMap을 사용하여 다음과 같은 작업을 수행 할 수도 있습니다.

    Spring 3.0부터 MultiValueMap을 사용하여 다음과 같은 작업을 수행 할 수도 있습니다.

    기본적인 예제는 다음과 같습니다.

    public String someMethod(@RequestParam MultiValueMap<String,String> params) {
    
        final Iterator<Entry<String, List<String>>> it = params.entrySet().iterator();
    
        while(it.hasNext()) {
            final String k = it.next().getKey();
            final List<String> values = it.next().getValue();
        }
    
        return "dummy_response";
    
    }
    
  5. from https://stackoverflow.com/questions/22398892/how-to-capture-multiple-parameters-using-requestparam-using-spring-mvc by cc-by-sa and MIT license