1215 개발일지

Yesol Lee·2021년 12월 15일
0

개발일지 - 2021

목록 보기
8/20

오늘 한 일

오늘 해야 했던 소소한 수정사항들은 다음과 같다.
1. 출장 시작일이 출장 종료일보다 항상 빠르거나 같도록 유효성 검사
2. 부서, 교통편을 comboBox로 선택
3. 날짜 선택-> 라이브러리로 처리
4. 페이징 가운데정렬

오전에 자잘한 수정들을 하고 점심부터는 여러 테이블에서 데이터를 CRUD하는 기능을 만들기 위해 SQL부터 Mapper, ServiceImpl, Service, Controller, jsp까지 새로운 세트를 하나 더 만들었다. 너무 복잡하다...ㅠ

datePicker 적용

웹에서 날짜를 입력할 때 달력에서 고를 수 있게 해 주는 라이브러리가 datePicker이다. 나는 jquery로 된 간단한 라이브러리를 발견해서 쉽게 적용할 수 있었다. jquery-datepicker 참고 블로그

  • 시작일에는 날짜 선택 제한을 없애고 종료일은 시작일을 골랐을 때 반드시 시작일 이후로만 선택할 수 있도록 제한을 주었다.
  • 원래 validator를 사용한 유효성 검사를 해야되나 고민하고 있었는데 라이브러리 사용으로 인해 날짜 제약도 한 번에 해결했다.
/* jquery 날짜 입력 설정*/
$(document).ready(function () {
  $.datepicker.setDefaults($.datepicker.regional['ko']); 
  $( "#tripStartDate" ).datepicker({
    changeMonth: true, 
    changeYear: true,
    nextText: '다음 달',
    prevText: '이전 달', 
    dayNames: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
    dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], 
    monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
    monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
    dateFormat: "yy-mm-dd",
    onClose: function( selectedDate ) {    
      //시작일(startDate) datepicker가 닫힐때
      //종료일(endDate)의 선택할수있는 최소 날짜(minDate)를 선택한 시작일로 지정
      $("#tripEndDate").datepicker( "option", "minDate", selectedDate );
    }    

  });
  $( "#tripEndDate" ).datepicker({
    changeMonth: true, 
    changeYear: true,
    nextText: '다음 달',
    prevText: '이전 달', 
    dayNames: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'],
    dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], 
    monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
    monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
    dateFormat: "yy-mm-dd" 
  });    
});

여러 테이블 CRUD 시도

  • SQL부터 Controller, jsp까지 한 세트를 다 다시 만들었다.
  • VO의 개념에 대해 다시 한 번 봐야될 것 같다. 원래 VO를 각 테이블의 컬럼과 동일하게 만들었는데, 화면에 띄울 때 필요한 데이터들을 담는 용도로 쓰는 것 같기도 하다. 내일 시도해봐야겠다.
  • 현재 '출장' 테이블과 '출장비용' 테이블은 일대다 관계이다. 즉 하나의 '출장' 데이터에 여러 개의 '출장비용' 데이터가 같이 와야 한다는 건데, 이 부분이 어렵다.
  • '출장'VO에 '출장비용 리스트' 속성을 추가한 후, 새로운 '출장'객체를 생성할 때 list를 미리 만들어 넣어보았다. (list의 길이는 항상 일정하다) 근데 register.js에서 출장VO의 출장비용list를 읽어오지 못한다.
profile
문서화를 좋아하는 개발자

0개의 댓글