JS,HTML,CSS
자바스크립트 dataFormat으로 날짜시간 일련번호 생성
유반짝
2023. 4. 17. 12:36
자바단으로 넘어가지 않고 자바스크립트단에서 JSON으로 데이터를 통으로 넘겨서 저장해야 할 경우가 생겼다.
자바스크립트에서
배열을 생성
객체를 생성
반복문을 돌면서 새로 객체를 생성하여 배열에다가 집어넣고
JSON으로 자바의 컨트롤러로 배열을 전달하여 저장해야하는 경우다.
/* js에서 */
var aJsonArray = new Array();
aJson = new Object();
aJson.frmNo = dateFormat(today) + seq++;
aJsonArray.push(aJson);
ppmboot.ajax({
type: "PUT",
url: ["skrghis", "bundleDetail"],
data: JSON.stringify(aJsonArray),
callback: function (res) {
axToast.push("저장 되었습니다.");
parent.ppmboot.modal.callback("");
}
});
controller도 전달받은 파라미터를 바로 저장하도록 수정해주어야한다
/* controller.java의 저장로직에서 다이렉트 저장되도록 수정*/
@RequestMapping(value ="bundleDetail",method = {RequestMethod.PUT}, produces = APPLICATION_JSON)
public ApiResponse bundleDetail(@RequestBody List<BundleDetail> request) {
bundleDetailService.save(request);
return ok();
}
다시 js로 돌아가서
/*코드자동발번 만들기함수 YYYYMMDDHHSS*/
function dateFormat(date) {
let month = date.getMonth() + 1;
let day = date.getDate();
let hour = date.getHours();
let minute = date.getMinutes();
let second = date.getSeconds();
month = month >= 10 ? month : '0' + month;
day = day >= 10 ? day : '0' + day;
hour = hour >= 10 ? hour : '0' + hour;
minute = minute >= 10 ? minute : '0' + minute;
second = second >= 10 ? second : '0' + second;
return date.getFullYear() + month + day + hour + minute + second;
}
/*사용하기*/
var seq = 0;
var today = new Date();
aJson.frmNo = dateFormat(today) + seq++;
결과 : 2023041712381 ~ 202304171238100 등등