원숭이
296
2018-08-10 17:38:48
7
338

배열 DTO Controller 에서 받기



StudentDTO 클래스가 있슴니다



class StudentDTO {
    int age;
    String name;
    String major;
    String email;
}


모두 getter, setter 로 되어 있고


script 에서 

ajax form 데이터에

var formData = "";
formData += "student[0].name="가";
formData += "student[0].age=10;
formData += "student[0].email='abc';
formData += "student[1].name="가";
formData += "student[1].age=10;
formData += "student[1].email='abc';
formData += "student[2].name="가";
formData += "student[2].age=10;
formData += "student[2].email='abc';
formData += "student[3].name="가";
formData += "student[3].age=10;
formData += "student[3].email='abc';


ajax 통신을 해서 

controller 단에서

	@RequestMapping(value = "/Regist")
	public void regist(@RequestBody List<StudentDTO> student) {
		System.out.println("student : " + student);
		return null;
	}


이런식으로해서 배열로 출력하고 싶은데

안되네요..


requestParam방식도 해보고 했는데요 도와주세요 ~~

0
0
  • 답변 7

  • bluerain
    2k
    2018-08-10 17:45:47
    System.out.println("student : " + student);

    에서 뭐라고 찍히나요?

    object라 원하는 문자열로는 안보일텐데요.


    0
  • 원숭이
    296
    2018-08-10 17:52:54

    우선 찍히지 않고

    student 가 알수가없다고 나오네요ㅠ에러

    0
  • bluerain
    2k
    2018-08-10 17:55:41

    UI에서 보내실때, form의 method를 post로 보내셨나요?

    1
  • autopoc
    776
    2018-08-10 18:00:08

    넘기는 부분을 보여주세요.

    ajax로 넘기면 @ResponseBody를 쓰셔야 할껀데요...

    1
  • 원숭이
    296
    2018-08-10 18:10:43

    스크립트에서는 이렇게 보내주고 잇으며

    $.ajax({
                type : 'POST',
    	    contentType : 'application/json',
    	    url : '/regist',
    	    data : data,
    	    dataType : dataType,
    	    success : function(data,status){
    
    	 };
    	});


    개발자 도구 formData를 보면

    student[0].name="가",
    student[0].age=10
    student[0].email='abc'
    student[1].name="가"
    student[1].age=10,
    student[1].email='abc'
    student[2].name="가"
    student[2].age=10
    student[2].email='abc'
    student[3].name="가"
    student[3].age=10
    student[3].email='abc'
    데이터 잘 가고 있습니다 컨트롤러도 경로 안맞는거 아닙니다 ~ ㅠ,.ㅠ
    0
  • 원숭이
    296
    2018-08-10 18:11:23

    @bluerain 네 등록해야해서 POST로 했습니다

    0
  • bluerain
    2k
    2018-08-16 11:09:33

    form data를 json 형태로 보내시려면
    $("#폼아이디").serialize() 로 하여 data에 대입해 보세요.

    예전에 일반 form 전송할때, 리스트 형태도 저렇게 해서 보냈던걸로 기억합니다.


    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.