으아아앜
356
2019-01-14 21:38:11 작성 2019-01-14 21:51:12 수정됨
2
269

자바 setter도 오버로딩이 되나요???


된다면, 

Spring에서 커맨드 객체를 이용할때

오버로딩이 정상적으로 작동해야 맞는게 아닌가요?


왜 안되지 ㅠㅠㅠ

---------------------ajax로 컨트롤러에 파라미터 전달 !!!

function write_fin(){
	var bId =99999 ;
	var bTitle = $("#title").val().trim();
	var bCategory = $("#category").val().trim();
	var bContent= $("#content").val().trim();
	var bLike=0;
	var bHate=0;
	//var bDate = new Date().toISOString();
	var bDate = new Date();
	var bHit =0;
	
	//var bUser = ${userid};
	var bUser="aaa";
	$.ajax({
		type :'get',
		data :
			'bId='+bId+
			'&bCategory='+bCategory+
			'&bTitle='+bTitle+
			'&bContent='+bContent+
			'&bLike='+bLike+
			'&bHate='+bHate+
			'&bDate='+bDate+
			'&bHit='+bHit+
			'&bUser='+bUser,
		url :'/okky/board_write/write_fin',
		success: function(data,status,xhr){
			window.location.href = "/okky/board_list";
		},
		error: function(){
			alert("통신 에러 발생");
		}
	});
}



----Spring 컨트롤러의 매핑메소드

//커맨드 객체를 활용하였습니다. 위의 파라미터값을 읽을것으로 예상

//커맨드 객체의 필드명과, 파라미터명이 일치하는 것을 확인하였습니다.

@RequestMapping(value = "/board_write/write_fin", method = RequestMethod.GET)
public void board_write_fin(DTO_okkyBoard dto){ //커맨드 객체!!!!
			System.out.println("테스트성공");
								
	}


----dto 객체의 setter 오버로딩

public void setbDate(Date bDate) {
		System.out.println("Date setter 작동");
		this.bDate = new Timestamp(bDate.getTime());
	}
public void setbDate(Timestamp bDate) {
		System.out.println("Timestamp setter 작동");
		this.bDate = bDate;
	}



bDate 객체에 전달되는 값이 Date() , 또는 Timestamp()인지에 따라 setter()를 작동시키고 싶어요 ㅠㅠ

0
0
  • 답변 2

  • LichKing
    12k
    2019-01-14 21:44:28

    뭐가 어떻게 안되는지 코드라도 좀 더 길게 보여주세요.

    그냥 봤을땐 메서드명이 잘못된거같은데요. setter 컨벤션은 set+대문자로 시작입니다.

    0
  • 제르맹
    191
    2019-01-14 22:31:43

    자바스크립트에서 날짜를 쿼리스트링으로 넘겼잖아요?

    그럼 그 데이터는 무슨 타입일까요? 스트링이겠죠?

    스트링이 Date 나 Timestamp 타입에 담길 수 있나요?

    참고로 이기종 언어간의 데이터 전달할때 문자열로 전달하고 받습니다.

    언어마다 데이터 타입이 다르기때문에 특정 타입을 다른 언어로 전달할 수 없습니다. 

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