[JSP] 태그 예제 모음

[숙제]
1. 다음처럼 화면에 출력해보자

  • 파일명: declaration.jsp
  • 선언문 태그에 문자형 전역변수를 선언하여 그림의 문자열을 저장
  • 문자형 변수 값을 반환하는 전역 메소드 getString()을 작성
  • getString() 메소드를 호출하여 문자형 변수값을 출력
  1. 다음처럼 화면에 출력해보자
  • 파일명: expression.jsp
  • 표현식에 java.util.Calendar 클래스를 이용하여 현재시간을 출력
  1. 다음처럼 화면에 출력해보자
  • 파일명: welcome2.jsp

[숙제]
1. Page 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들고 실행결과를 확인해보자

1) page.jsp 파일 생성
: page 디렉티브 태그에 java.util.Date, java.lang.Math 클래스를 이용하여 현재 날짜와 5의 제곱을 출력해보자
2) 웹 브라우저에 /ch03/page.jsp를 입력하여 실행결과를 확인해보자

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<%@ page import="java.util.Date"%>
<%@ page import="java.lang.Math"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
현재날짜: <%=new Date() %> <br>
5의 제곱: <%=Math.pow(5, 2) %>
</body>
</html>
  1. include 디렉티브 태그를 이용하여 다음 조건에 맞게 JSP 애플리케이션을 만들어보자

    1) header.jsp 파일 생성
  • h4 태그를 이용하여 "Hello, Java Servlet Page"를 선언함

    2) include03.jsp 파일 생성

  • include 디렉티브 태그를 이용하여 외부 파일 header.jsp의 내용을 포함함

  • java.util.Calender 클래스를 이용하여 현재 시간 출력

    3) 웹 브라우저에 /ch03/include.jsp를 입력하여 실행 결과 확인

<%@ 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>
</head>
<body>
<h4>Hello, Java Servlet Page</h4>
</body>
</html>
<%@ 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>Insert title here</title>
</head>
<body>
	<%@ include file="/ch03/header.jsp" %>
	현재시간: <%= Calendar.getInstance().getTime()%>
</body>
</html>
  1. taglib 디렉티브 태그를 이용하여 다음처럼 출력해보자

    1) taglib02.jsp 파일 생성

  • taglib 디렉티브 태그에 JSTL의 Core 태그를 설정하여 0부터 10까지의 짝수를 화면에 출력해보자
<%@ 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>
</head>
<body>
	<c:forEach var="i" begin="2" end="10" step="2">
		<c:out value="${i}"></c:out>
	</c:forEach>
</body>
</html>

[숙제]
1. 디렉티브 태그의 세 가지 유형은?
page, incldu, taglib

  1. JSP 페이지가 사용할 자바 클래스를 설정하기 위한 page 디렉티브 태그의 속성은? import

  2. JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 디렉티브 태그는 무엇이었나? include

[문제]
문제1) Forward 액션태그를 이용하여 처리해보자

1. forward02.jsp 파일을 생성

  • 구구단 출력하기

  • Forward 액션 태그로 forward02_data.jsp 파일로 이동
  • param 액션 태그로 숫자 5를 forward02.jsp 파일로 전달
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h4>구구단 출력하기</h4>
<jsp:forward page="forward02_data2.jsp">
	<jsp:param value="5" name="num"/>
</jsp:forward>
<p>포워드라 안나옴</p>
</body>
</html>
  1. forward02_data.jsp 파일 생성 (방법 2개 forward02_data2.jsp)
  • 전달받은 숫자 5의 구구단 출력

방법1(스크립트릿만 사용-내방법)

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%

	int a = Integer.parseInt(request.getParameter("num"));

	for(int i=1; i<=9; i++){
		out.print(a+ " * " + i + " = "+ a*i+"<br>");
	}
%>
</body>
</html>

방법2 (JSTL사용-샘방법)

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
	int i = Integer.parseInt(request.getParameter("num"));
%>
<!-- 자바 영역과 JSTL영역 연결  -->
<c:set var = "i" value="<%=i %>"></c:set>
<c:forEach var="j" begin="1" end="9" step="1">
	${i}*${j}=${i*j}<br>
</c:forEach>
</body>
</html>

문제2. 다음 조건에 맞게 개발해보자
1. src 폴더에 ch04.com.dao 패키지로 GuGuDan 클래스를 생성하여 곱셈을 계산하는 process()메소드 작성

package ch04.com.dao;

public class GuGuDan{

	//방법1(나)
	String str="";
	public String dan(int a) {
		for(int i=1; i<=9; i++){
			str+=a+ " * " + i + " = "+ a*i+"<br>";
		}
		return str;
	}
	//방법2(티처)
	public int process(int i, int j) {
		return i * j;
	}
		
}
  1. useBean.jsp 파일 생성
  • useDean 액션 태그에 GuGuDan 클래스를 사용하도록 작성
  • 구구단 출력하기

  • 숫자 5에 대해 GuGuDan 클래스의 process() 메소드를 호출하여 구구단 출력
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
	<h4>구구단 출력하기</h4>
	<jsp:useBean id="gu" class="ch04.com.dao.GuGuDan"></jsp:useBean>
	<%
		String str = gu.dan(5);
	%>
	
	<%=str %>
	
	또는<br>
	
	<c:forEach var="i" begin="1" end ="9" step="1">
		5 * ${j} = ${gu.process(5,j)}<br>
	</c:forEach>
</body>
</html>
  1. form 태그를 이용하여 다음을 처리해보자

    1) form03.jsp 파일 생성
  • input 태그 내에 text 유형을 이용하여 이름, 주소, 이메일 항목 작성
  • form 태그의 action 속성 값은 form03_process.jsp로 작성 2) form03_process.jsp 파일 생성
  • request 내장 객체의 getParameter() 메소드를 이용하여 전송된 요청 파라미터 값을 받음
  • out.print를 통해 전송된 요청 파라미터 값을 화면출력해보자
  1. form 태그를 이용하여 다음을 처리해보자

    1) form04.jsp생성
  • input 태그내에 checkboc유형을 이용하여 오렌지, 사과, 바나나 항목 작성
  • form 태그의 action 속성의 값은 form04_process.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
	<form action="form04_process.jsp">
		<label for="fruit1">오렌지</label><input type="checkbox" value="오렌지" id="fruit1" name="fruit" />
		<label for="fruit2">사과</label><input type="checkbox" value="사과" id="fruit2" name="fruit" />
		<label for="fruit3">바나나</label><input type="checkbox" value="바나나" id="fruit3" name="fruit" />
	<input type="submit" value="전송" />
</form>
</body>
</html>

2) form04_process.jsp파일 생성

  • request 내장 객체의 getPrameterValues() 메소드를 이용하여 파라미터 값은 전달받아 화면에 출력해보자
<%@page import="java.util.Arrays"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h3>선택한 과일</h3>
<%
	request.setCharacterEncoding("UTF-8");
	
	String[] fruit = request.getParameterValues("fruit");
	
	// out.print(Arrays.toString(fruit));
	
	for(String str : fruit){
		out.print(str+"\n");
	}
%>
</body>
</html>

좋은 웹페이지 즐겨찾기