일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 페이징
- jQuery값전달
- jQueryUI
- values()
- calendar
- JPQL
- 엔티티직접사용
- jQuery값전송
- 제너릭
- fetchjoin
- paging
- 대량쿼리
- javascriptcalendar
- joinfetch
- springflow
- Generic
- 제네릭
- fullcalendar
- JQuery
- LIST
- 프로젝트생성
- 자바서블릿
- jscalendar
- 벌크연산
- javaservlet
- 페치조인
- 스프링데이터흐름
- JPA
- Hibernate
- namedQuery
- Today
- Total
가자공부하러!
Javascript Full Calendar(3) - DB 값 가져오기 본문
Javascript Full Calendar(3) - DB 값 가져오기
오피스엑소더스 2019. 9. 3. 20:451. 개발환경
1. 다운로드
> Javascript Full Calendar 홈페이지 : https://fullcalendar.io
> Javascript Full Calendar Scheduler : https://fullcalendar.io/docs/premium
2. 실습환경 : Spring Boot 2.1.7, JDK8, JSP, tiles, Full Calendar 4.3.1
3. 적용페이지 : src/main/webapp/WEB-INF/views/calendar/calmain.jsp
2. Calendar 외부의 값 가져오기
1. 버튼 클릭 시 이벤트 가져오기
> 배열 형태
- 예) 2차원 배열
- 보낼 때 : var arr = [ {'title':'evt4', 'start':'2019-09-04', 'end':'2019-09-06'} ];
- 받을 때 : calendar.addEvent( arr[0] );
- 예) 1차원 배열
- 보낼 때 : var arr = { 'title':'evt4', 'start':'2019-09-04', 'end':'2019-09-06' };
- 받을 때 : calendar.addEvent( arr );
3. DB에서 값 가져오기
1. 순서
> calendar 객체 생성(view - js)
> ajax통신을 통해 DB CALENDAR 테이블의 데이터를 요청하는 javascript 함수 작성(view - js)
> ajax통신을 통해 데이터를 Map 타입으로 건네주는 Controller, Service, DAO 작성(java)
> ajax통신을 통해 받아온 데이터를 calendar 객체에 적용하는 코드 작성
- $.each 함수를 활용해서 calendar에 이벤트 추가
2. 데이터
> Full Calendar 이벤트 객체가 갖는 필드
- title : 캘린더에 표시되는 일정의 이름
- start : 캘린더에 표시되는 일정의 시작일 (yyyy-mm-dd[THH:MM:SS] ; 2019-09-05T12:30:00)
- end : 캘린더에 표시되는 일정의 마지막 일 (yyyy-mm-dd[THH:MM:SS] ; 2019-09-05T12:30:00)
- 캘린더에는 start부터 end전날까지 표시됨
- allDay : 일정이 종일인지 아닌지 여부(boolean)
3. Controller에서 Map 형태로 보낸 데이터 FullCalendar에 추가하는 방법
1 2 3 4 | Map<String, FullCalendarDTO> javaMap = new HashMap<String, FullCalendarDTO>(); javaMap.put("evt1", new FullCalendarDTO("db이벤트1", "2019-09-04", "2019-09-06", "false") ); javaMap.put("evt2", new FullCalendarDTO("db이벤트2", "2019-09-23", "2019-09-26", "false") ); | cs |
> script (ajax)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function getCalendarDataInDB(){ var arr = [{title: 'evt1', start:'ssssss'}, {title: 'evt2', start:'123123123'}]; $.ajax({ contentType:'application/json', dataType:'json', url:'calendar/getall', type:'post', async: false, success:function(resp){ arr = resp; }, error:function(){ alert('저장 중 에러가 발생했습니다. 다시 시도해 주세요.'); } }); return arr; } | cs |
> script (Full Calendar 내부 버튼클릭 이벤트)
1 2 3 4 5 6 7 | $("#btnAddTest").click(function(){ var arr = getCalendarDataInDB(); $.each(arr, function(index, item){ calendar.addEvent( item ); }); calendar.render(); }); | cs |
4. 상세 코드 보기
1. calmain.jsp 전체 코드 보기(접기/펼치기)
'공부 > Javascript, Node.js, jQuery, Ajax' 카테고리의 다른 글
정규식 활용 회원가입 기능(아이디 중복확인, 요소 입력확인) - JavaScript, jQuery (0) | 2019.09.09 |
---|---|
Javascript Full Calendar(2) - 한글설정, 클릭이벤트, 일정 추가 (2) | 2019.09.03 |
Javascript Full Calendar(1) - 적용 (4) | 2019.08.31 |
Javascript, jQuery 캘린더 만들기(수제) (2) | 2019.08.30 |
Javascript 생활코딩 강의 (0) | 2019.08.30 |