반응형
*JSTL(JSP Standard Tag Library)
-
변수 : <c:set >, <c:remove >
-
출력 : <c:out>
-
제어 : <c:if > , <c:choose > ,<c:when > ,<c:otherwise > ,<c:forEach > ,<c:forTokens >
-
redirect : <c:redirect url="이동할 페이지 URL"/>
-
<<<<<forward :데이터 처리와(업무로직) 화면디자인(뷰)을 분리할때(브라우저는 모름 n자) vs redirect : 정상적인 페이지 요청이아닌 비 정상적인 페이지 요청이 일어났을때 페이지이동(브라우저는 페이지 이동을 앎 m자)
-
정상적 요청이 발생했을 때 응답할 페이지에서 비정상적인 요청이 발생했을 때 페이지 이동 기술
-
include <<어떻게 하면 중복코드를 줄일것이냐 에서 시작됨>>>
-
공통코드를 가진 jsp를 분리하여 작성하고 필요한곳에서 사용하기 위해 사용되는 기술.
-
코드 : <%@ include %> //세션체크(컴퓨터의 호단위 연결-관계유지-저장공간을 얻어냄)
-
디자인 : <jsp:include > //액션 태그
-
<c: import url="끼워넣을 jsp의 URL"/>
<%@page import="java.util.Random"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
info ="jstl redirect"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
<%
boolean flag=new Random().nextBoolean();
pageContext.setAttribute("flag", flag);
%>
<c:if test="${flag}">
<!-- 비 정상적인 경우의 요청이 있을때 페이지 이동 -->
<%-- <%response.sendRedirect("jstl_redirect_b.jsp"); %>을 태그로 적는게 훨씬 눈에 안껄끄러움 --%>
<c:redirect url="jstl_redirect_b.jsp"/>
</c:if>
정상적인 경우 제공할 서비스<br/>
<img src="../common/images/img2.jpg"/>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
비 정상적일때 응답할 페이지<br/>
<img src="../common/images/img.png"/>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
-
예외 처리 :
-
<c: catch var="객체명">
-
예외 발생 예상 코드
-
</c:catch>
-
<c:if test="${객체명 ne null}">//// =not empty 객체명
-
예외 발생시 제공할 코드
-
</c:if>
-
이미지)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
info="지시자의 충돌이 발생하지 않고 변수나 method읜 공유가 발생하지 않는 import에 대해 사용"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
외부 페이지
<div>
<c:import url="jstl_import_b.jsp"/>
</div>
외부페이지<br/>
<%--
내부 페이지의 변수는 사용할 수 없다.
내부 페이지 변수의 사용 : ${pageScope.week} --%>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
info="지시자의 충돌이 발생하지 않는다."
%>
공통 디자인 정의<br/>
<%
String week="오늘은 월요일!!";
pageContext.setAttribute("week", week);
%>
<strong>${pageScope.week}</strong><!-- pageScope.week=week -->
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
info="예외 처리"
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
<c:catch var="e">
<%
/* try{ */
//코드 생성
Class.forName("Test");
/* forName은 컴파일예외로 try catch를 해주어야 하는데,, 이미 해주고 있기 때문에 별도의 try~안해주어도 되는것. */
//예외를 throws하는 method를 호출하더라도 _jspService()가 코드를 try~catch로 감싸고 있기 때문에 코드 에러가 발생하지 않는다.
/* }catch(ClassNotFoundException cnfe){
out.print("죄송합니다");
}//end catch -하지 않으면 500이 떠버린다. */
%>
<!-- jsp는 자바가 아니다.....훨신 편함.. -->
</c:catch>
<c:if test="${not empty e}"><%-- e ne null --%>
서비스 도중 문제가 발생하였습니다.<br/>
${e}
</c:if>
<%--
<%!
public void test(){
Class.forName(""); //여기서는 예외처리하라고 빨간줄이뜬다.//try~catch 필수
}
%> --%>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
-
fmt : 형식을 가진 문자열을 만드는 taglib
-
1.지시자
-
<% tablib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
-
태그사이엣
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
<%
Date date=new Date();
pageContext.setAttribute("pageDate", date);
%>
<!-- EL사용 -->
<fmt:formatDate value="${pageDate}" pattern="yyyyMMdd EEEE HH:mm:ss"/><br/>
<!-- Expression 사용 -->
<fmt:formatDate value="<%=date %>" pattern="yyyy년MM월dd일 EEEE HH:mm:ss"/><br/>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
</style>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
<%
int i=20190318;
int j=2019;
pageContext.setAttribute("i", i);
pageContext.setAttribute("j", j);
%>
#패턴 사용 :
<fmt:formatNumber value="${i}" pattern="#,###,###,###"/><br/>
0패턴 사용 :
<fmt:formatNumber value="${j}" pattern="0,000,000,000"/><br/>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
//중간에 에버노트 에러로 날라감ㅠㅠ 다시 줍줍
*변수: <c:set>, <c:remove>
*출력: <c:out>
*제어: <c:if>, <c:choose>, <c:when>, <c:otherwise>, <c:forEach>, <c:forTokens>
*redirect : <c:redirect url="이동할페이지 URL">
-
정상적 요청이 발생했을 때 응답할 페이지에서 비정상적인 요청이 발생했을 때 페이지 이동 기술
웹 : 요청에 대한 응답, 관계 유지(session, cookie), 페이지 이동
(페이지 이동 두 가지 방법 차이)
-
forward : 데이터처리 페이지와 화면디자인을 분리할 때, 업무로직과 View를 분리 할 때(N자이동)
-
redirect : 정상적인 요청이 있는 페이지에서 비정상적인 요청이 있을 때 페이지이동을 할 때, 브라우저는 페이지의 이동을 앎(M자이동)
*include : 공통코드를 가진 jsp를 분리하여 작성하고 필요한 곳에서 사용하기 위해 사용되는 기술
-
코드 : <%@ include %> : 세션체크
-
디자인 : <jsp:include><c:import url="끼워넣은 jsp URL"/>
*예외처리 : <c:catch var="객체명">
예외발생 예상 코드
</c:catch>
<c:if test="${객체명 ne null / 혹은 not empty 객체명}">
예외발생시 제공할 코드
</c:if>
fmt : 형식가진 문자열을 만드는 taglib
-
지시자
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
-
날짜 형식 변경
<%
Date d = new Date();
pageScope.setAttribute("date", d);
%>
<fnt : formatDate value="date 객체" pattern=" "/>
fnt : prefix
formatDate : suffix
"date 객체" : ${date}, <%=d %>
pattern: SimpleDateFormat pattern
-
숫자 형식의 변경
<fnt : formatNumber value="숫자" pattern=" "/>
pattern: DecimalFormat에서 제공하는 pattern
데이터가 없어도 출력 : 0
데이터가 없으면 출력 안함 : #
*달력 만들기
-
Calendar 사용
Calendar cal=Calendar.getInstance();
-
마지막 날을 얻을 수 있는지
이번달에 없는 날짜가 입력되면 다음달 1일로 설정(마지막날은 매달 다른데...)
for(int i=1; ; i++){
cal.set(Calendar.DAY_OF_MONTH, i);
if( cal.get(Calendar.DAY_OF_MONTH) !=i){
//cal : 다음달 1일인 부분
break;
}
//여기서 1일인지 확인하면 된다.
out.println(i);
}
-
토요일이면 줄변경(if~7번째 날이니~?보다 토요일이니?가 가독성이 훨씬 좋다.)
switch(cal.get(Calendar.DAY_OF_WEEK) ){
case Calendar.SATURDAY :
out.println("</tr><tr>");
}
-
1일을 출력하기전에 공백을 출력
if(i==1){
for(int j=1; j<cal.get(Calendar.DAY_OF_WEEK); j++){
out.println("<td></td>");
}
}
-
마지막 날 이후에 공백 출력
for(int j=cal.get(Calendar.DAY_OF_WEEK); j<8 ; j++){
out.println("<td></td>");
}
<<숙제>>
3.다음달이 마저 출력되어 흐리게 나오게△
2..31일이 끝났는데 다음줄이 빈줄일때(8월) 없앤다....마지막날이 토요일이면 공백을 출력하지 않는다.
4.앞쪽으로 앞달/날 마저 보여주고△
1.오늘에 알려주기 (다음달일땐 표시되면 안됨)
<<달력>>
<%@page import="java.util.Date"%>
<%@page import="com.sun.xml.internal.ws.api.Cancelable"%>
<%@page import="java.util.Calendar"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/jsp_prj/common/main_v190130.css"/>
<style type="text/css">
#wrap{margin:0px auto;width:800px; height:860px;}
#header{width:800px; height:140px; background:#FFFFFF url(http://localhost:8080/jsp_prj/common/images/header_bg.png) repeat-x;
position: relative; }
#headerTitle{font-family: HY견고딕,고딕; font-size:35px; font-weight:bold; text-align:center;
/* padding-top: 35px */ position:absolute; top:40px; left:290px; }
#container{width:800px; height:600px; }
#footer{width:800px; height:120px; }
#footerTitle{float: right; font-size:15px; padding-top:20px; padding-right:20px; }
/* 달 력 설 정 */
#diaryTab{margin:0px auto; border-spacing: 0px; border: 1px solid #CECECE; }
.sunTitle{width : 100px; height:25px; border:1px solid #CECECE; font-weight:bold;
color:#FFFFFF; background-color:#ff6b81}
.weekTitle{width : 100px; height:25px; border:1px solid #CECECE}
.satTitle{width : 100px; height:25px; border:1px solid #CECECE; font-weight:bold;
color:#FFFFFF; background-color:#3498db}
#diaryTitle{text-align: center; margin-bottom: 10px; margin-top: 20px;}
#diaryToday{width:100px; font-family:고딕체; font-size:28px; font-weight:bold;vartical-align:bottom;}
.diaryTd{width:100px; height: 60px; border: 1px solid #CECECE; text-align: right;
vertical-align: top; font-size: 14px;font-weight: bold;}
.blankTd{width:100px; height: 60px; border: 1px solid #CECECE; color:#CCCCCC; text-align: right;
vertical-align: top; font-size: 14px;font-weight: bold;}
.sunColor{font-size: 15px; color:#DE4F44; }
.weekColor{color:#222222; }
.satColor{font-size: 15px; color:#141744; }
.toDay{font-size: 18px; color:#FF55FF; font-weight: bold;}
/* 달 력 설 정 끝 */
</style>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$( document ).tooltip({
position: {
my: "center bottom-20",
at: "center top",
using: function( position, feedback ) {
$( this ).css( position );
$( "<div>" )
.addClass( "arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
});
} );
</script>
<style>
.ui-tooltip, .arrow:after {
background: black;
border: 2px solid white;
}
.ui-tooltip {
padding: 10px 20px;
color: white;
border-radius: 20px;
font: bold 14px "Helvetica Neue", Sans-Serif;
text-transform: uppercase;
box-shadow: 0 0 7px black;
}
.arrow {
width: 70px;
height: 16px;
overflow: hidden;
position: absolute;
left: 50%;
margin-left: -35px;
bottom: -16px;
}
.arrow.top {
top: -16px;
bottom: auto;
}
.arrow.left {
left: 20%;
}
.arrow:after {
content: "";
position: absolute;
left: 20px;
top: -20px;
width: 25px;
height: 25px;
box-shadow: 6px 5px 9px -9px black;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.arrow.top:after {
bottom: -20px;
top: auto;
}
</style>
<script type="text/javascript">
function moveMonth(month,year){
//location.href="diary.jsp?param_year="+year+"¶m_month="+month;
/* var obj=document.diaryFrm;
obj.param_month.value=month;
obj.param_year.value=year;
obj.submit(); */
$("[name='param_year']").val(year);
$("[name='param_month']").val(month);
$("[name='diaryFrm']").submit();
}//moveMonth
</script>
</head>
<body>
<div id="wrap">
<div id="header">
<div id="headerTitle">SIST Class4</div>
</div>
<div id="container">
<div id="diaryWrap">
<%!//declaration
public static final int START_DAY=1;
%>
<%
Calendar cal=Calendar.getInstance();
int nowYear=0;
int nowMonth=0;
int nowDay=cal.get(Calendar.DAY_OF_MONTH);
//1 2 3 4 5
//0 1 2 3 4
String param_month=request.getParameter("param_month");
if(param_month !=null && !"".equals(param_month)){//파라메터 월이 존재하면 현재 캘린더 객체의 월을 변경
cal.set(Calendar.MONTH, Integer.parseInt(param_month)-1);
}//end if
nowMonth=cal.get(Calendar.MONTH)+1;
String param_year=request.getParameter("param_year");
if(param_year !=null && !"".equals(param_year)){//파라메터 년이 존재하면 현재 캘린더 객체의 년을 변경
cal.set(Calendar.YEAR, Integer.parseInt(param_year));
}//end if
nowYear=cal.get(Calendar.YEAR);
pageContext.setAttribute("nowYear", nowYear);
pageContext.setAttribute("nowMonth", nowMonth);
pageContext.setAttribute("nowDay", nowDay);
%>
<form action="diary.jsp" name="diaryFrm" method="post">
<input type="hidden" name="param_month"/>
<input type="hidden" name="param_year"/>
</form>
<div id="diaryTitle">
<%-- <a href="diary.jsp?param_month=${nowMonth-1==0?12:nowMonth-1}¶m_year=${nowMonth-1==0?nowYear-1:nowYear}"><img src="images/btn_prev.png" title="이전 월"/></a> --%>
<a href="#void" onclick="moveMonth(${nowMonth-1==0?12:nowMonth-1},${nowMonth-1==0?nowYear-1:nowYear})"><img src="images/btn_prev.png" title="이전 월"/></a>
<span id="diaryToday" title="${nowYear}년 ${nowMonth}월"><c:out value="${nowYear}"/>.<c:out value="${nowMonth}"/></span>
<a href="#void" onclick="moveMonth(${nowMonth+1==13?1:nowMonth+1},${nowMonth+1==13?nowYear+1:nowYear})"><img src="images/btn_next.png" title="다음 월"/></a>
<a href="diary.jsp" onclick="moveMonth('','')"><img src="images/btn_today.png" title="오늘"/></a>
</div>
<div id="diaryContent">
<table id="diaryTab">
<tr>
<th class="sunTitle">일</th>
<th class="weekTitle">월</th>
<th class="weekTitle">화</th>
<th class="weekTitle">수</th>
<th class="weekTitle">목</th>
<th class="weekTitle">금</th>
<th class="satTitle">토</th>
</tr>
<tr>
<!-- <td class="diaryTd">1</td> -->
<%
String dayClass="";
//매월마다 끝나는 날짜가 다르기 때문에 무한 루프(마지막날 까지)를 사용한다.
for(int tempDay=1; tempDay<33 ; tempDay++){
cal.set(Calendar.DAY_OF_MONTH, tempDay);//임시일자를 설정한다.
if(cal.get(Calendar.DAY_OF_MONTH) != tempDay){
for(int blankTd=cal.get(Calendar.DAY_OF_WEEK); blankTd<8; blankTd++){
//만약 마지막날이 토요일이라면 + 설정된 날짜가 현재 일자가 아니고
if(cal.get(Calendar.DAY_OF_MONTH) != tempDay&& cal.get(Calendar.DAY_OF_MONTH) == cal.get(Calendar.SATURDAY)){
break;
}//end if
%>
<td class="blankTd"><%=blankTd%></td>
<%
}//end for
//설정된 날짜가 현재 일자가 아니라면 마지막 일자 다음달 1일이므로 반복문을 빠져나간다.
break;/* 나갔을때의 날짜는 다음달 1일 */
}//end if
//1일을 출력하기 전에 공백 출력. 딱떨어지는 숫자라면 Switch case추쳔
switch(tempDay){
case START_DAY:
for(int blankTd=1; blankTd<cal.get(Calendar.DAY_OF_WEEK); blankTd++){
%>
<td class="blankTd"><%=cal.get(Calendar.MONTH)+"/"+(cal.get(Calendar.DAY_OF_MONTH)+blankTd) %></td>
<%
}//end for
}//end switch
//요일별 색 설정
switch(cal.get(Calendar.DAY_OF_WEEK)){
case Calendar.SUNDAY:dayClass="sunColor"; break;
case Calendar.SATURDAY: dayClass="satColor"; break;
default: dayClass="weekColor";
}//end switch
//오늘
Date date=new Date();
if(date.getDate()==tempDay && Calendar.MONTH+1==cal.get(Calendar.MONTH)+1){
dayClass="toDay";
}//end switch
%>
<td class="diaryTd">
<div><span class="<%=dayClass%>"><%= tempDay %></span></div>
</td>
<%
//토요일이라면 줄 변경
switch(cal.get(Calendar.DAY_OF_WEEK)){
case Calendar.SATURDAY:
out.println("</tr><tr>");
}//end switch
}//end for
%>
</tr>
</table>
</div>
</div>
</div>
<div id="footer">
<div id="footerTitle">copyright© all right reserved. class 4.</div>
</div>
</div>
</body>
</html>
반응형
'국비지원학원 > JSP' 카테고리의 다른 글
101~103일차-JSP_Diary만들기 (0) | 2019.04.04 |
---|---|
100일차-JSP_MultipartRequest,Summernote,Diary (0) | 2019.04.03 |
98일차-JSP_JSTL_forTokens (0) | 2019.04.03 |
97일차-JSP_JSTL(Jsp Standard Tag Library) (0) | 2019.04.03 |
96일차-JSP_액션태그 (0) | 2019.03.31 |