728x90
반응형

Spring Framework는 4.1.7, jQuery는 2.1.4 버전을 사용하여 테스트함.


[Front-End]

<head>

<script>

function checkboxArr() {

    var checkArr = [];     // 배열 초기화

    $("input[name='test_check']:checked").each(function(i)) {

        checkArr.push($(this).val());     // 체크된 것만 값을 뽑아서 배열에 push

    }


    $.ajax({

        url: 'test_check'

        , type: 'post'

        , dataType: 'text'

        , data: {

            valueArrTest: checkArr

        }

    });

}

</script>

</head>


<body>

    <input type="checkbox" name="test_check" value="1" />

    <input type="checkbox" name="test_check" value="2" />

    <input type="checkbox" name="test_check" value="3" />

    <input type="checkbox" name="test_check" value="4" />

</body>


[Back-End]

@RequestMapping(value = "/test_check", method = RequestMethod.POST)

@ResponserBody

public void testCheck(@RequestParam(value = "valueArrTest[]") List<String> valueArr) {

    // TODO

}


Back-End단에서 받을땐 String[] 형식으로 하면 안되고, List<String> 형태로 사용해야 된다.

 

예전에는 for loop돌면서 delimiter를 정해서 String하나로 만들어 넘기거나, checkbox의 이름을 각각 다르게 정해서 조합해서 억지로 넘겼던 기억이 있는데, 위 방법으로 하면 깔끔하게 정리가 된다.

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,