ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JSP] table, calendar, operator, declare
    WEB/JSP 2022. 9. 9. 18:42

    table

    HTML 테이블 생성

    <table cellspacing="1" bgcolor="black" width="500">
    	<tr bgcolor="white" height="80">
    	<td>1행 1열</td><td>1행 2열</td><td>1행 3열</td><td>1행 4열</td><td>1행 5열</td>
    	</tr>
    	<tr bgcolor="white" height="80">
    	<td>2행 1열</td><td>2행 2열</td><td>2행 3열</td><td>2행 4열</td><td>2행 5열</td>
    	</tr >
    	<tr bgcolor="white" height="80">
    	<td>3행 1열</td><td>3행 2열</td><td>3행 3열</td><td>3행 4열</td><td>3행 5열</td>
    	</tr>
    	<tr bgcolor="white" height="80">
    	<td>4행 1열</td><td>4행 2열</td><td>4행 3열</td><td>4행 4열</td><td>4행 5열</td>
    	</tr>
    	<tr bgcolor="white" height="80">
    	<td>5행 1열</td><td>5행 2열</td><td>5행 3열</td><td>5행 4열</td><td>5행 5열</td>
    	</tr>
    </table>

    JSP 테이블 생성

    <table cellspacing="1" bgcolor="black" width="500">
    <%
    	for(int i=1; i<=5; i++){
    %>
    		<tr bgcolor="white" height="80">
    <%
    			for(int j=1; j<=5; j++){
    %>
    				<td><%=i %>행 <%=j %>열</td>
    <%
    			}
    %>
    		</tr>
    <%
    	}
    %>
    </table>


    calendar

    <%@ page language="java" contentType="text/html; charset=UTF-8" 
        pageEncoding="UTF-8"%>
    <%@ page import="java.util.Calendar" %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>07_Calendar.jsp</title>
    <style type="text/css">
    	td{font-weight:bold; font-size:110%; }
    	tr>td:first-child{color:red;}
    	tr>td:last-child{color:blue;}
    	a{text-decoration:none; font-size:110%}
    </style>
    </head>
    <body>
    <%
    	Calendar sDay=Calendar.getInstance(); 
        // 출력될 달력의 1일자를 저장할 객체
    	Calendar eDay=Calendar.getInstance(); 
        // 출력될 달력의 말일자가 저장될 객체
    	
    	int sYear=sDay.get(Calendar.YEAR); // 출력월의 날짜의 연도
    	int sMonth=sDay.get(Calendar.MONTH); // 출력월 날짜의 월(0~11)
    	
    	// 오늘 날짜로 sYear, sMonth 변수를 설정했다가 
        // 전달되는 파라미터가 존재한다면 그 값으로 대체
    	if(request.getParameter("sYear")!=null)
    		sYear=Integer.parseInt(request.getParameter("sYear"));
    	
    	if(request.getParameter("sMonth")!=null){
    		sMonth=Integer.parseInt(request.getParameter("sMonth"));
    		if(sMonth==12) {
    			sMonth=0;
    			sYear++;
    		}
    		if(sMonth==-1){
    			sMonth=11;
    			sYear--;
    		}
    	}
    	// request: 웹페이지에 별도로 만들지 않아도 
                    존재하는 서버에 자료를 요청하기 위한 객체
    
    	sDay.set(sYear,sMonth,1); // 출력할 월의 1일자로 설정
    	eDay.set(sYear,sMonth+1,1); // 다음달 1일로 설정 후 
    	eDay.add(Calendar.DATE,-1); // 바로 전날로 조정 -> 이달의 말일
    	
    	int START_WEEK=sDay.get(Calendar.DAY_OF_WEEK); 
        // 1:일요일, 2:월요일...
    	
    	int i,k,cnt=0; // i는 반복실행에 사용, k는 날짜 출력에 사용, 
                       // cnt는 줄바꿈에 사용
    	
    %>
    	<table width="560" align="left" cellspacing="1" bgcolor="black">
    		<tr bgcolor="white" height="50">
    			<td align="center" colspan="7" style="font-size:150%">
    				<a href="07_Calendar.jsp?sYear=<%=sYear%>
    				&sMonth=<%=sMonth-1%>">이전달</a>
    				&nbsp;&nbsp;&nbsp;
    				<%=sYear %>년 <%=sMonth+1 %>월
    				&nbsp;&nbsp;&nbsp;
    				<a href="07_Calendar.jsp?sYear=<%=sYear%>
    				&sMonth=<%=sMonth+1%>">다음달</a>
    			</td>
    		</tr>
    		<tr bgcolor="white" height="50">
    			<td align="center" width="80">일</td>
    			<td align="center" width="80">월</td>
    			<td align="center" width="80">화</td>
    			<td align="center" width="80">수</td>
    			<td align="center" width="80">목</td>
    			<td align="center" width="80">금</td>
    			<td align="center" width="80">토</td>
    		</tr>
    
    <!-- 첫번째행: 1일자 요일 전까지 열에는 공백, 그 위부터는 날짜가 1,2,3... -->
    		<tr bgcolor="white" height="50">
    <%
    			for(i=1; i<START_WEEK; i++){ %>
    				<td>&nbsp;</td> 
                <!-- 첫칸부터 시작날짜의 요일바로 전열까지 빈칸 표시 -->
    <%
    			}
                for(i=1; i<=8-START_WEEK; i++){ %>
    				<td align="right"><%=i %>&nbsp;</td> 
                <!-- 1일자부터 토요일까지 날짜 표시 -->
    <%
    			} %>
    		</tr>
    	
    <!--  두번째행부터 이어지는 날짜를 표시: 
          현재 표시할 날짜 -i, i부터 말일까지 표시 -->
    		<tr bgcolor="white" height="60">
    <%
    			for(k=i; k<=eDay.get(Calendar.DATE);k++){ %>
    				<td align="right"><%=k%>&nbsp;</td><!-- 날짜출력 -->
    <%
    				cnt++; // 날짜 한 번 표시하고 cnt 증가
    				if(cnt%7==0){ %>
    			</tr>
    			<tr bgcolor="white" height="60">
    <%
    				}
    			}
    			for(i=1; i<=7-(cnt%7); i++){ %>
    				<td>&nbsp;</td>
    <%
    			} %>
    		</tr>
    	</table>
    </body>
    </html>

    6월에서 이전달 클릭하면 나타나는 화면
    6월에서 다음달 클릭하면 나타나는 화면


    operator

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>01_Operator.jsp</title>
    </head>
    <body>
    	<%
    	int num1=20;
    	int num2=7;
    	double num3;
    	int add=num1+num2;
    	out.print(num1+" + "+num2+" = "+add+"<br>");
    	add=num1-num2;
    	out.print(num1+" - "+num2+" = "+add+"<br>");
    	add=num1*num2;
    	out.print(num1+" * "+num2+" = "+add+"<br>");
    	num3=num1/(double)num2;
    	out.print(num1+" / "+num2+" = "+num3+"<br>");
    	// <%= 를 대신할 메서드 out.print()
    	%>
    	<!-- out.print(): System.out.print()와 비슷해보이지만 
             이 메서드는 웹페이지에 출력하는 메서드 -->
    </body>
    </html>


    declare

    <%@ page language="java" contentType="text/html; charset=UTF-8" 
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>02_Declare.jsp</title>
    <%-- jsp는 실행영역과 선언부영역으로 구분됨. 
         보통 실행영역은 body 안에서 <%%>로 표시된 곳에 기술되지만 
         선언부는 head 부분에서 <%! %>로 표시된 곳에 대부분 기술됨 --%>
    <%!
    	// 선언부의 시작: 선언부 영역은 변수, 메서드 등이 정의됨
    
    	// 변수 선언
    	String str="안녕하세요!!";
    	int a=5, b=-5;
    	
    	// 메서드 정의
    	public int abs(int n){
    		if(n<0) n=-n; //n=-1*n
    				return n;
    	} // jsp의 메서드는 static으로 선언하지 않아도 사용 가능함
    %>
    </head>
    <body>
    <%
    	// jsp 실행부의 시작
    	int c=10;
    	c++;
    	a++;
    	out.print(str+"<br>");
    	out.print(a+"의 절대값: "+abs(a)+"<br>");
    	out.print(c+"의 절대값: "+abs(c)+"<br>");
    %>
    <br><br>
    <%=str %><br>
    <%=a %>의 절대값: <%=abs(a) %><br>
    <%=c %>의 절대값: <%=abs(c) %><br>
    </body>
    </html>

    'WEB > JSP' 카테고리의 다른 글

    [JSP] servlet, action tag form  (0) 2022.09.09
    [JSP] login form, forward form, server object  (0) 2022.09.09
    [JSP] variable, import, request, include  (0) 2022.09.09
    [JSP] sum, form, checkbox, select  (0) 2022.09.09
    [JSP] Java Server Pasge  (0) 2022.09.09

    댓글

Designed by Tistory.