날짜 비교해서
팝업을 내리고 싶었다.
java 파일을 올리면 서버를 또 죽였다 살려야하니깐
JSP 페이지에서 처리 하고 싶었다.
<%@ page import="java.util.Date" %>
<%@ page import="java.util.Calendar" %>
<%
// 현재 날짜
Date currentDate = new Date();
// 팝업을 내릴 날짜
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2023); // 연도 설정
calendar.set(Calendar.MONTH, Calendar.AUGUST); // 월 설정 (0부터 시작)
calendar.set(Calendar.DAY_OF_MONTH, 10); // 일 설정
Date popupEndDate = calendar.getTime(); // 특정한 날짜를 지정
// System.out.print("=====currentDate==" + currentDate);
// System.out.print("=====popupEndDate==" + popupEndDate);
boolean isPopupExpired = currentDate.before(popupEndDate);
// JSP 페이지 내에서 변수를 사용할 수 있도록 설정
pageContext.setAttribute("isPopupExpired", isPopupExpired);
%>
popupEndDate가 Date 타입으로 날짜를 지정해줘야해서
조금 번거롭지만 Calendar를 사용해
년 / 월 / 일자를 등록 해줘야한다.
java.util.Date 클래스에 있는 before 함수를 사용했다.
/**
* Tests if this date is before the specified date.
*
* @param when a date.
* @return {@code true} if and only if the instant of time
* represented by this {@code Date} object is strictly
* earlier than the instant represented by {@code when};
* {@code false} otherwise.
* @exception NullPointerException if {@code when} is null.
*/
public boolean before(Date when) {
return getMillisOf(this) < getMillisOf(when);
}
/**
* Tests if this date is after the specified date.
*
* @param when a date.
* @return {@code true} if and only if the instant represented
* by this {@code Date} object is strictly later than the
* instant represented by {@code when};
* {@code false} otherwise.
* @exception NullPointerException if {@code when} is null.
*/
public boolean after(Date when) {
return getMillisOf(this) > getMillisOf(when);
}
바로 해당 페이지에서 사용할 수 있도록
pageContext로 설정도 해줬다.
동일 페이지 하단에 팝업은
<button type="button" onclick="${ isPopupExpired ? 'popupOpen(\'#event\');' : ''}">이벤트 참여</button>
버튼 뒤에 나오는 팝업이라 이렇게 설정 해줬다!
'JSP' 카테고리의 다른 글
자주쓰는 JSTL 정리 (0) | 2023.02.02 |
---|---|
[JSP] JSP 태그 (0) | 2022.12.28 |