카테고리 없음

[ajax] ajax활용, parameter를 Controller로 넘기기

뒷골목프로그래머 2020. 2. 11. 10:51
반응형

안녕하세요. 글쓰는 개발자입니다.

오늘은 ajax으로 data를 넘겨서 DB에 저장하는 것까지의 과정을 설명하고자 합니다. JQuery가 제공하는 ajax을 활용했는데요. VO 또는 DTO방식으로 값을 넘겨주는 방법도 있지만, 이번에는 parameter만 넘겨주는 방식을 택했습니다. ajax의 data에 자신이 넘기고자 하는 data의 이름을 정해주고 그 값을 넣어줍니다. 저는 nickName에 '닉네임'을 담았습니다. 이는, Key - Value형태로 담아지는데요.

 

그리하여 Controller에서 Map형태로 param을 받았고, 이를 service단을 거쳐 mapper로 보내주었습니다. 주의하실 점이 있다면, mapper에서 parameterType을 정해주시는 것과, #{nickName} 처럼 자신이 정한 key 이름을 정확히 입력해야 한다는 것입니다. 자세한 내용은 아래 코드블럭을 확인하시기 바랍니다.

 

 

1. ajax

$.ajax({
		url :'Url',
		type : 'post',
		dataType : 'json',
		data : {
			nickName : '닉네임',
		},
		success: function(data){
			console.log("성공");
		}
	});

2. Controller

  @PostMapping("/Url")
  public @ResponseBody void method(@RequestParam Map<String, Object> param, HttpServletRequest request, DefaultVO defaultVO) {
    service.method(param);
  }

3.Service

public void method(Map<String, Object> map);

4.Mapper

	<insert id="methodName" parameterType="java.util.Map">
		INSERT INTO TableName
		 (
		 	[닉네임],
		 ) 
		 values
		 (
		 	#{nickName},
		 );
	</insert>

 

반응형