다음은 웹 요청 URL의 어느 위치에나 포함될 수 있는 매트릭스 변수를 MultiValueMap 객체에 저장하여 처리하는 예입니다.

    사용자의 웹 요청 URL이 http://.../home/exam06/ISBN1234;publisher=이지톡;name=스프링/category/IT전문서;publisher=길벗;author=송미영이면 요청 처리 메서드 requestMethod()에 첫 번째 매개변수인 matrixVars{publisher=[이지톡, 길벗], name=[스프링], author=[송미영]}이 되고, 두 번째 매개변수인 matrixVars2{publisher=[길벗], author=[송미영]}이 됩니다.

    @MatrixVariable에 Map 사용

    package com.springmvc.chap06;
    ...
    import org.springframework.util.MultiValueMap;
    ...
    @Controller
    @RequestMapping("/home")
    public class Example06Controller {
    
        @GetMapping("/exam06/{bookId}/category/{category}")
        public String  requestMethod (
            @MatrixVariable MultiValueMap<String, String> matrixVars,
            @MatrixVariable(pathVar="category") MultiValueMap<String, String> matrixVars2,
            Model model) {
    
            System.out.println(matrixVars);
            System.out.println(matrixVars2);
    
            model.addAttribute("data", matrixVars + "<br>" + matrixVars2);
            return "webpage06";
        }
    }

    ▲ 그림 6-10 실행 결과

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.