알이즈웰

JSTL 함수로 현재 시간 나타내기 본문

Programming/Front-End

JSTL 함수로 현재 시간 나타내기

2017. 5. 11. 18:25

이슈 : 


jsp파일에서 JavaScript 함수등을 js파일로 따로 만들어서 관리하는 프로젝트

js파일을 jsp파일에 

<script type="text/javascript" src="/assets/js/member.js"></script>

이런식으로 설정하는데, 여기서 저 member.js파일의 업데이트된 내용이 서버를 빌드해도 바로 반영이 안되는 것이다.


(해당 내용에 대해서는 참고할만한 글들이 몇가지 있다.

js 파일 캐시 로 구글링을 하거나

http://kanu.tistory.com/30

http://88240.tistory.com/323

를 참고하거나.)


따라서 보통의 프로젝트에서는 js 파일 명에 ~.js?현재시각 이런식으로 입력해둔다. 파일명을 매시각 jsp파일을 불러들일때마다 바꿔서 js파일을 새로 불러들이려는 의도. (version 값을 주어서 하는 곳도 있다고 한다.)


이슈는 바로 이 현재시각을 jsp에서 어떻게 구해서 넣을까이다.



시도했던 방법 1. controller에서 현재시각 만들어서 view로 던짐


-> 이런식으로 해뒀었는데, 굳이 컨트롤러에서까지 이걸 들고 가져갈 필요는 없지않나 싶어 수정하려고함



시도했던 방법 2. JavaScript에서 시간 조회해서 JSTL로 값을 하나 만들어서 붙히려고 했는데, 

스크립틀릿으로 뭐 시간 만들고, 이걸 또 넣고 하는건 제대로 된 구현방법이 아닌 것 같아 도움을 요청


시도했던, 최종 사용한 방법 3. JSTL 포맷 기능을 사용해서 현재 날짜를 생성.


<jsp:useBean id="currentTime" class="java.util.Date"/>

<fmt:formatDate value="${currentTime }" pattern="yyyyMMddHHmmss" var="currentTime"/> 

<script type="text/javascript" src="/assets/js/member.js?${currentTime}"></script>




 참고 : http://blog.naver.com/PostView.nhn?blogId=jung_w_w&logNo=130186967002&parentCategoryNo=&categoryNo=11&viewDate=&isShowPopularPosts=true&from=search






좀 더 알아볼 필요가 있는 내용

1. jsp:usebean

 참고 : http://gangzzang.tistory.com/entry/JSP-%EC%95%A1%EC%85%98%ED%83%9C%EA%B7%B8-jspuseBean


2. jstl과 자바스크립트 차이 자바스크립트 변수를 jstl로 못 넣는 이유

 참고 : https://okky.kr/article/377148?note=1191874


3. js, css 파일이 왜 업데이트된 내용이 바로 적요이 안될까? -> 브라우저 캐시 때문.

 참고 : http://88240.tistory.com/323

   http://kanu.tistory.com/30






Comments