JSP에서 받아온 datatime-local은 2022-01-01T15:33 이런 형태.
:::구현하고 싶은 기능:::
영화 상영 시각을 여러개 등록하면 하단 테이블에 datatime-local 순으로 정렬하여 임시저장했다가,
'영화 등록' 시에 해당 값들을 넘기기
:::내가 한 방법:::
- JQuery상에서의 정렬 처리
$(function(){
var schedules =[]; //객체배열 활용
$('#addSchedule').click(function(){
var schOne = {
'auditoriumNo': $('#theater').val()
, 'auditoriumName': $('.auditorium:selected').text()
, 'schedule': $('#schedule').val()
};
schedules.push(schOne);
//객체배열을 schedule 속성으로 오름차순 정렬
schedules.sort(function(a, b) {
var c = new Date(a.schedule);
var d = new Date(b.schedule);
return c-d;
});
//해당 값을 테이블에 저장
var result='';
for(var i in schedules){
result+='<tr><td>'+schedules[i].auditoriumNo+'</td><td>'
+scheduls[i].auditoriumName+'</td><td>'+scheduls[i].schedule+'</td>'
+'<td><button type="button" class="removeSch">X</button></td></tr>';
}
$('#schedules tbody').html(result);
$('#schedule').val('');
})
//등록버튼에 return submitMovie();로 onclick 부여
function submitMovie(){
var scheduleRows = $('#schedules>tbody').children().length;
var $scheduleRows = $('#schedules>tbody').children()
var bundle = $scheduleRows.eq(0).children().eq(0).text()
+'/'+$scheduleRows.eq(0).children().eq(2).text();
for(var i = 1; i < schduleRows ; i++){
bundle += ','+$scheduleRows.eq(i).children().eq(0).text()
+'/'+$scheduleRows.eq(i).children().eq(2).text();
}
$('input[name=schedules]').val(bundle);
return true;
}
})
- Servlet 상에서 값 처리
ArrayList<Schedule> schedules = new ArrayList<>();
String schParameter = multiRequest.getParameter("schedules");
String[] schRows = schParameter.split(",");
for(String s : schRows) {
String[] schBundle = s.split("/");
Schedule sch = new Schedule();
sch.setAuditoriumNo(Integer.parseInt(schBundle[0]));
//int로 TO_DATE하기위한 작업
String runsch = schBundle[1].replace("-","").replace("T","").replace(":", "");
sch.setRunSch(runsch);
schedules.add(sch);
}
영화 등록 파트 진짜 오늘 혼신의 힘을 다해서 짰는데 ㅋㅋ 진짜 기능 짱많음
이런식으로 스케줄 등록, 삭제도 하고,
배우/역할 목록도 짜서 테이블 보여주면서 순서 조정도 버튼으로 할 수 있게 짜고,
영화 장르도 버튼 누르면 불 들어오고 해당되는 값들 넘기고,
포스터/스틸컷 등록도 하고 등등...
될 수 있는 한 기본 정보는 불러와서 선택을 하는 방향으로, 사용자의 편의성을 증대시키기~~
중간에 Date형을 String 형으로 바꿔서 작업했는데 갑자기 안나던 오류가 계속 났었다.
Java Console 창에서 "Schedule의 주소Ljava.sql.Date;" 이런 식으로 오류가 나는데, 오만군데 찾아보고 서버 restart를 수십번해도 해결이 안됐었다. 혹시나 혹시나 싶어.. 컴퓨터 껐다 켰는데 됐음... 너무 허무했다..........
'PROJECT' 카테고리의 다른 글
[MyBatis] PersistenceException 해결방법 (0) | 2022.03.16 |
---|---|
오늘의 문제점 (0) | 2022.03.15 |
내 첫 프로젝트 리뷰!! (0) | 2022.02.03 |
[GITHUB] 깃허브 revert (0) | 2022.02.01 |
[JDBC] JDBC 상에서 해당 값을 null 처리 (0) | 2022.01.30 |