20.03 ~ 20.08 국비교육/JSP

지시자(Directive)

찹키리 2020. 4. 22. 12:32

<지시자(directive)>

1)page

 

: <%@(지시어 영역) page(지시자) 속성 %>

 

 

 

JSP문서 제일 위의 <%@ @> 안의 지시 영역이 page 지시 영역이다.

 



-page 지시어에서 사용되는 속성


info = "문서정보"
language = "java"
contentType = "text/html;" <- 내용물이 문자와 태그
import = "패키지명.클래스명" <--- 이 속성만 문서 내 중첩 가능
session = "t/f" <- t: 생성-호출-소멸 가능. default는 true고 페이지에서 session을 사용할 수 있는 지 없는 지 나타내는 속성
buffer = "크기" <- 기본 8kb
autoFlush = "t/f" <- 버퍼가 지정된 크기에 도달하면 자동으로 응답(기본값 true)
isThreadSafe = "t/f" <- thread safe를 지원 하는 지 여부(기본값 true)
-errorPage = "경로 파일명" <- 예외를 몰아서 지정된 페이지에서 예외 처리, exception 객체 사용 가능
isErrorPage = "t/f" <- 에러 페이지로 지정
pageEncoding = "페이지의 캐릭터 인코딩값" <- 응답할 때 인코딩값. 한글: euc-kr

 

 

 


2)include

 

: <%@ include(지시자) file(속성) = "경로/파일명" %>

홈페이지에서 항상 공통으로 적용되는 파일을 포함시킬 때, 매번 같은 내용을 입력하지 않고 include 지시자를 사용해 별도로 만든 페이지를 병합한다.  자주 사용되지는 않는다.

 

 

1. 문서를 병합할 때
: 여러 개의 문서가 병합해 하나의 문서처럼 실행

2. 소스를 병합한 뒤 컴파일
: 동일한 영역 내에 같은 이름의 변수가 여러 번 선언될 수 없기 때문에, 각각의 파일에서 동일한 변수명을 선언해 충돌하는 상황을 방지하고자 소스를 먼저 병합한 뒤 컴파일한다.

3. 전송값은 병합된 문서 어디서나 받을 수 있다.

4. 병합 후 결과가 하나의 문서처럼 보여야 한다.
ex. 변수명, 태그 등


-> 사용하기 까다롭기 때문에 주의를 요하는 기능

 

 

 

<예제>

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <h1>Directive Example4</h1>
    <%@ include file = "directiveTop.jsp" %>
    include 지시자의 body부분입니다. 
    <%@ include file = "directiveBottom.jsp" %>
</body>
</html>
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

 

병합할 문서

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    include 지시자의 Top 부분입니다.
    <hr/>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

 

병합시킬 문서(directiveTop.jsp)

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"
    import = "java.util.*"%>
 
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
    <%
    Date date = new Date();
    %>
    <hr/>
    include 지시자의 Bottom 부분입니다.<p/>
    
    <%= date.toLocaleString() %>
</body>
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

병합시킬 문서(directiveBottom.jsp)

 

 

 

 

 

결과

 

 

 


3)taglib

'20.03 ~ 20.08 국비교육 > JSP' 카테고리의 다른 글

내부 객체(Implicit Object)  (0) 2020.04.23
액션(Action)  (0) 2020.04.23
폼 전송  (0) 2020.04.22
JSP의 기초 문법  (0) 2020.04.21
JSP 소개  (0) 2020.04.21