note

JSP 달력(CSS적용) 본문

개발노트

JSP 달력(CSS적용)

투한 2012. 2. 9. 09:14





<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.util.Calendar,java.text.SimpleDateFormat;"%>
<%
	Calendar cal = Calendar.getInstance();
	int year = request.getParameter("y") == null ? cal.get(Calendar.YEAR) : Integer.parseInt(request.getParameter("y"));
	int month = request.getParameter("m") == null ? cal.get(Calendar.MONTH) : (Integer.parseInt(request.getParameter("m")) - 1);
	int day = request.getParameter("d") == null ? cal.get(Calendar.DATE) : Integer.parseInt(request.getParameter("d"));

	java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyM");
	java.text.SimpleDateFormat aa = new java.text.SimpleDateFormat("yyyy-MM-dd");
	String Today = aa.format(new java.util.Date());
	String strToday = sdf.format(new java.util.Date());
	String strCal = year + "" + (month + 1);

	//날짜 셋팅

	cal.set(year, month, 1);

	//달의 마지막 날짜를 구함 
	int lastOfDate = cal.getActualMaximum(Calendar.DATE);
	//주를  구함 1일요일 ,2월요일
	int week = cal.get(Calendar.DAY_OF_WEEK);
	// 다음/이전월 계산
	// - MONTH 계산시 표기월로 계산하기 때문에 +1을 한 상태에서 계산함
	int prevYear = year;
	int prevMonth = (month + 1) - 1;
	int nextYear = year;
	int nextMonth = (month + 1) + 1;

	int _nextYear = year + 1;
	int _prevYear = year - 1;
	// 1월인 경우 이전년 12월로 지정
	if (prevMonth < 1) {
		prevYear--;
		prevMonth = 12;
	}

	// 12월인 경우 다음년 1월로 지정
	if (nextMonth > 12) {
		nextYear++;
		nextMonth = 1;
	}
%>
<%!int last = 0;%>





:: <%=year%>년 <%=month + <span class="hljs-number">1</span>%>월 Calendar ::



	
<%
				//시작 공백만들기
				for (int i = 1; i < week; i++) {
					++last;
					out.println("");
				}
				//날짜 처리 & 오늘처리& 색상처리(토요일만)
				for (int i = 1; i <= lastOfDate; i++) {
					++last;
					if (last == 1) {
						out.println("");
					} else if (i == day && strToday.equals(strCal)) {
						out.println("");
					} else {
						out.println("");
					}

					//토요일 줄바꿈
					if (week % 7 == 0) {
						out.println("");
						last = 0;
					}
					week++;

				}
				//마지막 채우기
				if (last != 0) {
					while (last <= 6) {
						out.println("");
						++last;
					}
				}else{
					out.println("");
				}
%>
Calendar
 <%=year%>    <%=month + 1%>  
Today(<%=Today %>)
 " + i + "" + i + "" + i + "
 


css
@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	font-family: gulim, sans-serif;
	font-size:110%;
	text-align:center;
}
.a2{
	font-size:20px;
	text-decoration: none;
	color: #5c5c5c;
}
.list_over { background-color:#F3F7FD; }
.list_out { background-color:#FFFFFF; }
.list_over2 { background-color:#e5e5e5; }
a {
	text-decoration: none;
	color: #5c5c5c;
}
#today{
	background-color:#CCCCCC;
	color:#000000;
}
.base{
	border:1px solid #8e8e8e;
}
.sun{
	border:1px solid #8e8e8e;
	color:#FF0000;
}

tr{
	height:11%;
}
a:hover {
	text-decoration: underline;
	color: #5c5c5c;
}

.dot {style;
	border-top-style: dashed;
	border-right-style: dashed;
	border-bottom-style: dashed;
	border-left-style: dashed;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-color: rgb(71, 71, 71);
	border-right-color: rgb(71, 71, 71);
	border-bottom-color: rgb(71, 71, 71);
	border-left-color: rgb(71, 71, 71);
	background-color: rgb(232, 232, 232);
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	p style:margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}


table {
	border-collapse: collapse;
	border-cellpadding: cellpadding;
	height:100%;width:100%;
	align:center;border:0;
}



주석안에 설명 다 있습니다.
CSS
마우스 온오버 효과 ,오늘날짜 표시,일요일 빨간색


'개발노트' 카테고리의 다른 글

일정관리 프로그램  (2) 2012.02.14
OCJP  (0) 2012.02.10
Calendar 예제  (0) 2012.02.08
Game.DB 주소  (0) 2012.02.02
성적관리3(파일 저장사용)  (0) 2012.01.18