๐ŸŒฑ[๊ตฌ๋””์•„์นด๋ฐ๋ฏธ IT๊ตญ๋น„์ง€์›]

๊น€ํฌ์ง„ยท2023๋…„ 4์›” 18์ผ
0

[๊ตฌ๋””์•„์นด๋ฐ๋ฏธ IT๊ตญ๋น„์ง€์›] 1์ฃผ์ฐจ์— ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ณต์Šตํ•˜๊ณ , Calendar ๊ธฐ๋ณธAPI ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ  ์ง์ ‘ ์บ˜๋ฆฐ๋” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.


๐Ÿ’ก 1์ฃผ์ฐจ ๋ณต์Šต

  • ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด
    ํ˜„์‹ค๊ณผ ๋˜‘๊ฐ™์€ ๊ฐœ๋…์˜ ์ฝ”๋”ฉ
    ex) ๊ธฐ๋Šฅ(ํ•จ์ˆ˜)๊ฐ€ ๋ฐ–์— ๋”ฐ๋กœ ์žˆ๋Š”์ง€, ์•ˆ์— ๊ฐ™์ด ๋„ฃ๋Š”์ง€์˜ ์ฐจ์ด. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒŒ์ž„ ์ฝ”๋”ฉ์‹œ ๊ธฐ์‚ฌ ์บ๋ฆญํ„ฐ์˜ ๊ณต๊ฒฉ ๊ธฐ๋Šฅ์ด ๊ธฐ์‚ฌ ์•ˆ์— ๋“ค์–ด์žˆ์œผ๋ฉด ๊ฐ์ฒด์ง€ํ–ฅ, ๊ธฐ์‚ฌ ์บ๋ฆญํ„ฐ์™€ ๊ณต๊ฒฉ ๊ธฐ๋Šฅ์ด ๋”ฐ๋กœ ์กด์žฌํ•˜๋ฉด ํ•จ์ˆ˜์ง€ํ–ฅ์ด๋‹ค.

  • 8๋น„ํŠธ=1๋ฐ”์ดํŠธ

๐Ÿง์ฃผ๋ง์— ํ•„๊ธฐํ•œ ๋‚ด์šฉ๋“ค ํ•œ๋ฒˆ๋” ์ •๋ฆฌํ•˜๊ธฐ!

๐Ÿ’ก java.util.Calendar ๊ธฐ๋ณธAPI

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import = "java.util.Calendar" %>
<%
	// Calendar c = new Calendar(); // ๋ฌธ๋ฒ•์ ์œผ๋กœ ์™œ ์•ˆ๋˜๋Š”์ง€๋Š” ๋‚˜์ค‘์— ๋ฐฐ์šธ ๊ฒƒ..
	Calendar c = Calendar.getInstance();
	
	String yoil = "";
	switch(c.get(Calendar.DAY_OF_WEEK)) {
		case 1 :
			yoil = "์ผ";
			break;
		case 2 :
			yoil = "์›”";
			break;
		case 3 :
			yoil = "ํ™”";
			break;
		case 4 :
			yoil = "์ˆ˜";
			break;
		case 5 :
			yoil = "๋ชฉ";
			break;
		case 6 :
			yoil = "๊ธˆ";
			break;
		case 7 :
			yoil = "ํ† ";
	}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div>
		Calendar.getInstance() : <%=c%>
		<!-- ์˜ค๋Š˜ ๋‚ ์งœ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ์Œ (์—ฌ๊ธฐ์—๋Š” ์œ„์น˜๋˜ํ•œ ํฌํ•จ๋จ, ์™œ๋ƒ๋ฉด ์œ„์น˜์— ๋”ฐ๋ผ ๋‚ ์งœ์ •๋ณด๋„ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์—) -->
	</div>
	<!-- static ๋ฉ”์„œ๋“œ์ด๋ฏ€๋กœ ํด๋ž˜์Šค๋ช…(Calendar)์œผ๋กœ ํ˜ธ์ถœ๊ฐ€๋Šฅ, ํด๋ž˜์Šค๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ, ๋Œ€๋ฌธ์ž๋ฉด static ๋ฉ”์„œ๋“œ์ž„ -->
	<div>Year : <%=c.get(Calendar.YEAR)%></div>
	<div>Month : <%=c.get(Calendar.MONTH)%></div>
	<!-- ์ฃผ์˜! 0์›”๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ, +1ํ•ด์„œ ์ฝ์–ด์•ผ ํ•œ๋‹ค -->
	<div>Date : <%=c.get(Calendar.DATE)%></div>
	<div>์ด๋ฒˆ์ฃผ์˜ ๋ช‡๋ฒˆ์งธ ๋‚ ์ธ์ง€ : <%=c.get(Calendar.DAY_OF_WEEK)%></div>
	<!--  ์ฃผ์˜! ์š”์ผ์€ ์ผ์š”์ผ๋ถ€ํ„ฐ 1๋กœ ์‹œ์ž‘ํ•จ, ์ผ์›”ํ™”์ˆ˜๋ชฉ๊ธˆํ†  (1,2,3,4,5,6,7) -->
	<div>์š”์ผ : <%=yoil%>์š”์ผ</div>
	<div>ํ˜„์žฌ๋‹ฌ์˜ ๋งˆ์ง€๋ง‰ ๋‚ ์งœ : <%=c.getActualMaximum(Calendar.DATE)%></div>
</body>
</html>
  • ์ง€๋‚œ ์‹œ๊ฐ„๋ถ€ํ„ฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜์—ˆ๋˜ Calendar ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ๋ฐฐ์› ๋‹ค. ํ˜ธ์ถœ์‹œ c.YEAR์ด ์•„๋‹Œ, ํด๋ž˜์Šค ๋ช…์ธ Calendar.YEAR ๋ผ๊ณ  ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์„ ๋ณด๋ฉด static ๋ฉ”์„œ๋“œ๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. (static ๋ฉ”์„œ๋“œ๋Š” ํด๋ž˜์Šค๋ช…์œผ๋กœ ์ถœ๋ ฅ ๊ฐ€๋Šฅ, ์ฆ‰ ํด๋ž˜์Šค๋ช…์€ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š”์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณด๋ฉด ๊ตฌ๋ถ„ ๊ฐ€๋Šฅํ•˜๋‹ค!)

  • page import = "java.util.Calendar" : ํŒจํ‚ค์ง€๋ช… ์ƒ๋žต

  • ์‚ฌ์šฉ๋ฐฉ๋ฒ• : ์˜ค๋Š˜ ๋‚ ์งœ๊ฐ€ ๊ธฐ์ค€

Calendar c = Calendar.getInstance();
c.get(Calendar.YEAR)
  • Calendar.getInstance() : <%=c%> : Calendar ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ถœ๋ ฅํ•˜๋ฉด ๋ฌด์ˆ˜ํ•œ ์ •๋ณด๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ด ์ •๋ณด์—๋Š” ๋‚ ์งœ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ํ˜„์žฌ ์œ„์น˜๋„ ํฌํ•จ๋œ๋‹ค. ์œ„์น˜์— ๋”ฐ๋ผ ๋‚ ์งœ ์ •๋ณด๋Š” ๋ฐ”๋€” ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

java.util.GregorianCalendar[time=1681788425121,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=30,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2023,MONTH=3,WEEK_OF_YEAR=16,WEEK_OF_MONTH=4,DAY_OF_MONTH=18,DAY_OF_YEAR=108,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=0,HOUR_OF_DAY=12,MINUTE=27,SECOND=5,MILLISECOND=121,ZONE_OFFSET=32400000,DST_OFFSET=0]


์–ด๋–ค ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š”์ง€ ํ•ญ์ƒ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์€ ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ ‡๊ฒŒ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ด๋ณด๊ณ , ์—ฌ๊ธฐ์—์„œ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋ฝ‘์•„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค.

  • c.get(Calendar.DAY_OF_WEEK)) : ์˜ค๋Š˜ ๋‚ ์งœ๊ฐ€ ์ด๋ฒˆ์ฃผ์˜ ๋ช‡๋ฒˆ์งธ ๋‚ ์ธ์ง€(๋ฌด์Šจ ์š”์ผ์ธ์ง€) ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์ถœ๋ ฅ๋˜๋Š” ๊ฐ’์€ ์ผ์š”์ผ๋ถ€ํ„ฐ ํ† ์š”์ผ๊นŒ์ง€ 1,2,3,4,5,6,7์ด๋‹ค.

  • c.get(Calendar.MONTH) : ์˜ค๋Š˜ ๋‚ ์งœ๊ฐ€ ๋ช‡์›”์ธ์ง€ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ์›”์€ 0์›”๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— +1์„ ํ•ด์„œ ์ฝ์–ด์•ผํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•œ๋‹ค! (1์›”=0์›”, 12์›”=11์›”)

  • c.getActualMaximum(Calendar.DATE) : ์˜ค๋Š˜ ๋‚ ์งœ์˜ ์›”์˜ ๋งˆ์ง€๋ง‰์ผ์ด ๋ช‡์ผ์ธ์ง€ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ค‘๊ฐ„์— Actual์„ ๋นผ๋จน์œผ๋ฉด ์บ˜๋ฆฐ๋”์˜ ์ตœ๋Œ€๊ฐ’์ธ 31๋งŒ ์ถœ๋ ฅ๋˜๋ฏ€๋กœ ์ฃผ์˜ ํ•ด์•ผ ํ•œ๋‹ค!

๐Ÿ’ก ์‹ค์Šต

์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ๋‚ด์šฉ์œผ๋กœ ์ „์ฒด ์›”์˜ ๋‹ฌ๋ ฅ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ์‹ค์Šต์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค.

๐Ÿ“Œ ๋‹ฌ๋ ฅ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ


โœ” ๊ตฌํ˜„ํ•ด์•ผํ•  ์ 

  • bootstrap ์Šคํƒ€์ผ
  • ์ผ์š”์ผ ์ƒ‰์ƒ RED (ํ† ์š”์ผ๋„ ํŒŒ๋ž€์ƒ‰์œผ๋กœ ํ•ด๋ณด๊ธฐ)
  • ๋‚ ์งœ ํด๋ฆญ์‹œ ์ผ์ •์ž…๋ ฅ ํผ์œผ๋กœ ์ด๋™
  • 1์ผ ์•ž์— ํšŒ์ƒ‰์œผ๋กœ ๋‚ ์งœ ์ถœ๋ ฅ, ๋งˆ์ง€๋ง‰๋‚  ๋’ค์— ํšŒ์ƒ‰์œผ๋กœ ๋‚ ์งœ ์ถœ๋ ฅ

๐Ÿ“ ์ž‘์„ฑ (1) - calendar.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import = "java.util.Calendar" %>
<%
	int targetYear = 0; // ๋ณ€์ˆ˜์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋•Œ๋ฌธ์— if๋ฌธ๋ณด๋‹ค ๋จผ์ € ๋ณ€์ˆ˜ ์„ ์–ธํ•ด์•ผํ•จ
	int targetMonth = 0;
	
 	if(request.getParameter("targetYear") == null
 			|| request.getParameter("targetMonth") == null ) {
 		Calendar today = Calendar.getInstance();
 		targetYear = today.get(Calendar.YEAR);
 		targetMonth = today.get(Calendar.MONTH);
 	} else {
		targetYear = Integer.parseInt(request.getParameter("targetYear"));
		targetMonth = Integer.parseInt(request.getParameter("targetMonth"));
		if(targetMonth == -1){ // 1์›” ์ „์œผ๋กœ ๊ฐ€๋ฉด ์ž‘๋…„
			targetMonth = 11;
			targetYear = targetYear - 1;
		} else if(targetMonth == 12) { // 12์›” ํ›„๋กœ ๊ฐ€๋ฉด ๋‚ด๋…„
			targetMonth = 0;
			targetYear = targetYear + 1;
		}
 	}
 	
 	// ๋””๋ฒ„๊น… ์ฝ”๋“œ
 	// http://localhost/ex17/calendar.jsp?targetYear=2023&targetMonth=11
	// http://localhost/ex17/calendar.jsp
 	System.out.println(targetYear + "<-- targetYear");
 	System.out.println(targetMonth + "<-- targetMonth");
 	
 	Calendar firstDate = Calendar.getInstance(); // ์˜ค๋Š˜ ๋‚ ์งœ ๋ฝ‘๊ธฐ
 	
 	// ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋…„/์›”/1์ผ
 	firstDate.set(Calendar.YEAR, targetYear); // set ๋ฐ”๊พธ๊ฒ ๋‹ค
 	firstDate.set(Calendar.MONTH, targetMonth);
 	firstDate.set(Calendar.DATE, 1);
 	
 	// ๋‹ฌ๋ ฅ 1์ผ ์•ž์˜ ๊ณต๋ฐฑ(td) ์ˆ˜ ๊ตฌํ•˜๊ธฐ
 	// ํ˜„์žฌ ์›”์˜ 1์ผ์˜ Day_OF_WEEK (์ผ์š”์ผ๋ถ€ํ„ฐ 1,2,3,4,5,6,7 ํ† ์š”์ผ๊นŒ์ง€) - 1 // ์นธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— 1์„ ๋นผ์ค€๋‹ค
 	int startTdBlank = 0;
 	startTdBlank = firstDate.get(Calendar.DAY_OF_WEEK) - 1;
 	System.out.println(startTdBlank + " <-- startTdBlank"); // ๋””๋ฒ„๊น…
 	
 	// ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋…„/์›”/๋งˆ์ง€๋ง‰๋‚ ์งœ
 	int endDateNum = firstDate.getActualMaximum(Calendar.DATE); // Actual ์ฐจ์ด..?
 	System.out.println(endDateNum + "<-- endDateNum");
 	
 	// ๋‹ฌ๋ ฅ ๋งˆ์ง€๋ง‰๋‚ ์งœ ์ถœ๋ ฅ ํ›„ ๊ณต๋ฐฑ(td)์˜ ์ˆ˜ ๊ตฌํ•˜๊ธฐ
 	int endTdBlank = 0;
 	if((startTdBlank + endDateNum) % 7 != 0) {
 		endTdBlank = 7 - ((startTdBlank + endDateNum) % 7); // ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์œผ๋ฉด ๋’ค์— ๊ณต๋ฐฑ์ด ์ƒ๊น€, ๊ทธ ๊ณต๋ฐฑ์€ ์ผ~ํ†  ์ด 7์นธ์—์„œ ๋นผ๋ฉด ๋จ
 	}
 	int totalTdCnt = startTdBlank + endDateNum + endTdBlank;
 	System.out.println(endTdBlank + "<-- endTdBlank");
 	System.out.println(totalTdCnt + "<-- totalTdCnt");
 	
 	// ์ „์›” ๋งˆ์ง€๋ง‰๋‚ ์งœ ๊ตฌํ•˜๊ธฐ
 	Calendar preDate = Calendar.getInstance();
 	preDate.set(Calendar.YEAR, targetYear);
	preDate.set(Calendar.MONTH, targetMonth-1);
	int preEndDate = preDate.getActualMaximum(Calendar.DATE);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>calendar.jsp</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
	<style>
		a {text-decoration: none;}
		a:hover {text-decoration: underline;}
	</style>
</head>
<body>
<div class="container">
	<h1>
		<a href="./calendar.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth - 1%>">์ด์ „๋‹ฌ</a>
		<%=targetYear%>๋…„ <%=targetMonth + 1%>์›” <!-- ํ‘œ์‹œ๋Š” +1์›” -->
		<a href="./calendar.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth + 1%>">๋‹ค์Œ๋‹ฌ</a>
	</h1>
	<table class="table table-striped">
		<thead>
			<tr>
				<th>์ผ</th>
				<th>์›”</th>
				<th>ํ™”</th>
				<th>์ˆ˜</th>
				<th>๋ชฉ</th>
				<th>๊ธˆ</th>
				<th>ํ† </th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<%
					for(int i=0; i<totalTdCnt; i++) {
						if(i%7 == 0){
				%>
							</tr><tr>
				<%
						}
						int dateNum = i - startTdBlank + 1;
						if(dateNum > 0 && dateNum <= endDateNum) { // 1์ผ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰์ผ๊นŒ์ง€ ์ถœ๋ ฅ
							if(i % 7 == 0) {
				%>
								<td>
									<a class="text-danger" href="./diary.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth%>&dateNum=<%=dateNum%>" target="_blank">
										<%=dateNum%>
									</a>
								</td>
				<% 
							} else if(i % 7 == 6) {
				%>
								<td>
									<a class="text-primary" href="./diary.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth%>&dateNum=<%=dateNum%>" target="_blank">
										<%=dateNum%>
									</a>
								</td>
				<%
							} else {
				%>
								<td>
									<a class="text-dark" href="./diary.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth%>&dateNum=<%=dateNum%>" target="_blank">
										<%=dateNum%>
									</a>
								</td>
				<%
							}	
						} else if(dateNum < 1){
				%>
							<td class="text-black-50">
								<%=preEndDate + dateNum%>
							</td>
				<%			
						} else {
				%>
							<td class="text-black-50">
								<%=dateNum - endDateNum%>
							</td>
				<%
						}
					}
				%>
			</tr>
		</tbody>
	</table>
</div>
</body>
</html>
  • ์ฝ”๋“œ๋ฅผ ์™ธ์šฐ๋ ค๊ณ  ํ•˜์ง€ ๋ง๊ณ  ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ „์ฒด์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ

  • ๋””๋ฒ„๊น… ์ฝ”๋“œ ์ž˜ ์ž‘์„ฑํ•˜๊ธฐ

  • set ๋ฉ”์„œ๋“œ ํ™œ์šฉํ•˜๊ธฐ

 	// ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•˜๋Š” ๋…„/์›”/1์ผ
 	firstDate.set(Calendar.YEAR, targetYear); // set ๋ฐ”๊พธ๊ฒ ๋‹ค
 	firstDate.set(Calendar.MONTH, targetMonth);
 	firstDate.set(Calendar.DATE, 1);
  • ๋ถ€ํŠธ์ŠคํŠธ๋žฉ5 ์ด์šฉํ•ด์„œ css ํ•˜๊ธฐ

  • aํƒœ๊ทธ ๋งํฌ์— ๊ฐ’ ํฌํ•จํ•˜๊ธฐ

<a href="./calendar.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth - 1%>">์ด์ „๋‹ฌ</a>
<%=targetYear%>๋…„ <%=targetMonth + 1%>์›” <!-- ํ‘œ์‹œ๋Š” +1์›” -->
<a href="./calendar.jsp?targetYear=<%=targetYear%>&targetMonth=<%=targetMonth + 1%>">๋‹ค์Œ๋‹ฌ</a>

โญ์ฃผ์†Œ? ํ‚ค=๊ฐ’ & ํ‚ค=๊ฐ’ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ!

๐Ÿ“ ๊ฒฐ๊ณผ


๐Ÿ“ ์ž‘์„ฑ (2) - diary.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
	int targetYear = Integer.parseInt(request.getParameter("targetYear"));
	int targetMonth = Integer.parseInt(request.getParameter("targetMonth"));
	int dateNum = Integer.parseInt(request.getParameter("dateNum"));
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
	<h3><%=targetYear%>๋…„ <%=targetMonth + 1%>์›” <%=dateNum%>์ผ์˜ ์ผ์ •์„ ์ž…๋ ฅํ•˜์„ธ์š”</h3>
	<form>
		<table>
			<tr>
				<th>์ œ๋ชฉ</th>
				<td><input type="text"></td>
				<td><input type="checkbox">์ค‘์š”</td>
			</tr>
			<tr>
				<th>์žฅ์†Œ</th>
				<td><input type="text"></td>
				<td>์ง€๋„์ฒจ๋ถ€<input type="file"></td>
			</tr>
			<tr>
				<th>์ผ์‹œ</th>
				<td><input type ="date"></td>
				<td><input type="checkbox">์ข…์ผ</td>
			</tr>
			<tr>
				<th>์ฐธ์„์ž</th>
				<td><input type="text"></td>
				<td><input type="button" value="๋„ค์ด๋ฒ„ ์ฃผ์†Œ๋ก"></td>
			</tr>
			<tr>
				<th>๊ณต๊ฐœ</th>
				<td colspan = "2">
					<input type="radio" name="open">๊ธฐ๋ณธ
					<input type="radio" name="open">๋น„๊ณต๊ฐœ
				</td>
				<!-- <td></td> -->
			</tr>
			<tr>
				<th>์„ค๋ช…</th>
				<td colspan = "2"><textarea rows="3" cols="50"></textarea></td>
				<!-- <td></td> -->
			</tr>
			<tr>
				<th>ํŒŒ์ผ</th>
				<td colspan = "2"><input type="file"></td>
				<!-- <td></td> -->
			</tr>
			<tr>
				<th>์•Œ๋ฆผ</th>
				<td colspan = "2">
					<select id = "alarm">
						<option value = "10๋ถ„์ „">10๋ถ„์ „</option>
						<option value = "1์‹œ๊ฐ„์ „">1์‹œ๊ฐ„์ „</option>
						<option value = "ํ•˜๋ฃจ์ „">ํ•˜๋ฃจ์ „</option>
					</select>
				</td>
				<!-- <td></td> -->
			</tr>
		</table>
			<button type="submit">์ €์žฅ</button>
			<button type="reset">์ทจ์†Œ</button>
	</form>
</body>
</html>
  • ๊ฐ’ ๋ถˆ๋Ÿฌ์˜ค๊ณ  int ํƒ€์ž…์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
int targetYear = Integer.parseInt(request.getParameter("targetYear"));
int targetMonth = Integer.parseInt(request.getParameter("targetMonth"));
int dateNum = Integer.parseInt(request.getParameter("dateNum"));

๐Ÿ“ ๊ฒฐ๊ณผ

๋‹ฌ๋ ฅ์˜ ๋‚ ์งœ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

๐Ÿง ๊ฐœ์„ ์ 

์ด๋ฒˆ ์ˆ˜์—…์€ ๋ณต์Šต๊ณผ ์‹ค์Šต ์œ„์ฃผ๋กœ ์ด๋ฃจ์–ด์กŒ๋Š”๋ฐ, ์‹ค์Šต์€ ํ•ญ์ƒ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ๋ณต์žกํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ณ„์†ํ•ด์„œ ๋“ค์—ฌ๋‹ค๋ณด๊ณ  ์ฝ์–ด๋ณด๊ณ  ํ•ด์„ํ•ด๋ณด๋ฉด์„œ ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํžˆ ๋‹ฌ๋‹ฌ ์™ธ์šฐ๊ธฐ๋งŒ ํ•˜๋ฉด ์ ˆ๋Œ€ ๋‚ด๊ฒƒ์ด ๋  ์ˆ˜ ์—†์„ ๊ฒƒ์ด๋‹ค. ์ด๋ฒˆ ๊ณผ์ œ๋Š” ์ˆ˜์‹œ๋กœ ๋“ค์—ฌ๋‹ค๋ณด๋ฉด์„œ ์ต์ˆ™ํ•ด์ ธ์•ผ๊ฒ ๋‹ค.


profile
ํ•˜๋ฃจ ํ•œ๊ฑธ์Œ์”ฉ๐Ÿ’ช ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž ๋„์ „๊ธฐ ๐ŸŒฑ๐Ÿ’ป

0๊ฐœ์˜ ๋Œ“๊ธ€