복붙노트

[SPRING] 스프링 MVC 컨트롤러에서 폼 데이터를 Map으로 얻는 방법은?

SPRING

스프링 MVC 컨트롤러에서 폼 데이터를 Map으로 얻는 방법은?

자바 스크립트로 동적으로 생성 된 복잡한 html 양식이 있습니다.

Java에서 Map으로 키 - 값 쌍의 맵을 가져 와서 저장하려고합니다.

여기 내 컨트롤러가 제출 된 데이터를 가져옵니다.

@RequestMapping(value="/create", method=RequestMethod.POST, 
    consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String createRole(Hashmap<String, Object) keyVals) {
    ....
}  

하지만 내지도는 비어 있습니다.

어떻게하면 폼 데이터를 Spring MVC 컨트롤러에서 이름 - 값 쌍의 맵으로 가져올 수 있습니까?

해결법

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

    1.MultiValueMap과 함께 @RequestBody를 사용할 수도 있습니다. 예 :

    MultiValueMap과 함께 @RequestBody를 사용할 수도 있습니다. 예 :

    @RequestMapping(value="/create",
                    method=RequestMethod.POST,
                    consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    public String createRole(@RequestBody MultiValueMap<String, String> formData){
     // your code goes here
    }
    

    이제 매개 변수 이름과 해당 값을 가져올 수 있습니다.

    MultiValueMap은 Spring utils 패키지에있다.

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

    2.나, 방금 해결책을 찾았 어.

    나, 방금 해결책을 찾았 어.

    @RequestMapping(value="/create", method=RequestMethod.POST, 
            consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    public String createRole(HttpServletRequest request) {
        Map<String, String[]> parameterMap = request.getParameterMap();
        ...
    }
    

    이 방법은 내가 제출 된 매개 변수의지도가.

  3. from https://stackoverflow.com/questions/24551915/how-to-get-form-data-as-a-map-in-spring-mvc-controller by cc-by-sa and MIT license