관리 메뉴

프로그래밍 삽질 중

JSP 디렉티브 태그(page, include, taglib) 본문

과거 프로그래밍 자료들/자바(Java)

JSP 디렉티브 태그(page, include, taglib)

평부 2021. 4. 8. 23:12

※ 디렉티브 태그

- JSP 페이지를 어떻게 처리할 지 설정하는 태그

- JSP페이지서블릿 프로그램서블릿 클래스로 변환 시 JSP 페이지와 관련된 정보를

JSP컨테이너에 지시하는 메세지

- <%@ 지시자 속성 = "" %>

- page, include, taglib 존재

 

 

page 디렉티브 태그

- 현재 JSP 페이지에 대한 정보를 설정

- JSP페이지 어디든지 선언 가능하나 일반적으로 JSP 페이지 최상단에 선언 권장

- <%@ page 속성1 = "1" [속성2="2"...]%>

 

 

page 디렉티브 태그 속성

1) language 속성 : JSP페이지에서 사용할 프로그래밍 언어 설정 시 사용(기본값 : java)

 

2) contentType 속성 : 현재 JSP 페이지의 콘텐츠 유형(MIME-type)설정 시 사용(기본값 : text/html)

* HTML을 출력하는 JSP 페이지는 contentType 사용할 필요 x

 

3) pageEncoding 속성

- 현재 JSP 페이지의 문자 인코딩 유형을 설정하는 데 사용

- 문자 인코딩 기본 값 : ISO-8859-1(기본 설정값인 "UTF-8" → "ISO-8859-1"로 변경)

결과 : í•œê¸€ì¶œë ¥

 

4) import 속성 : 현재 JSP 페이지에서 사용할 자바 클래스 설정 시 사용

- 둘 이상 자바 클래스 사용 시 ,(쉼표)로 구분(각각 별도로 설정 가능)

 

5) errPage, isErrorPage 속성

- errPage에 예외를 규정하는 파일명.jsp 설정

- 파일명.jspdp <%@ page isErrorPage="true"%>설정

 

 

include 디렉티브 태그

- JSP 페이지의 특정 영역에 외부 파일(HTML, JSP, 텍스트 파일)의 내용을 포함하는 태그

- JSP 페이지 내 어디서든 선언 가능

- 일정 자바 코드나 정적 데이터 여러 페이지 반복반복되는 부분 다른 파일로 생성 후 재사용

 

 

file 속성 값

- 현재 JSP 페이지에 포함할 내용을 가진 외부 파일명

- 외부파일과 JSP 페이지가 같은 디렉토리에 있다면 파일명만 설정(아니라면 전체 URL 지정)

 

 

taglib 디렉티브 태크

- 현재 JSP 페이지에 표현 언어, JSTL, 사용자 정의 태그(custom tag) 등 태그 라이브러리를 설정하는 태그

→ <%@ taglib uri="경로" prefix="태그 식별자"%>

 

[예제 1] 2 ~ 50까지 출력하기(2의 배수로)

 

<!--결과 : 2 4 6 8 10 ... 48-->

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!--사전에 할 일-->
<!--topcat에서 Apache Standard Taglib 1.2.5 Released - [download] -[Jar Files]에서
1) taglibs-standard-compat-1.2.5.jar
2) taglibs-standard-impl-1.2.5.jar
3) taglibs-standard-jstlel-1.2.5.jar
4) taglibs-standard-spec-1.2.5.jar 설치 후 WEB-INF 내 lib에 4개 파일 copy하기 -->
<title>Insert title here</title>
</head>
<body>
<c:forEach var="num" begin="2" end="50" step="2">
<c:out value = "${num}"/>
</c:forEach>
</body>
</html>
cs