본문 바로가기

   
Programming/JSP

page 디렉티브

반응형

page 디렉티브

page 디렉티브를 사용하면 다음과 같은것을알수 있다.

1. jsp페이지가 어떤 문서를 생성하는지 알수 있다.

2. 어떤 java 클래스를 사용하는지 알수 있다.

3. jsp 페이지를 실행하는데 필요한 정보들을 입력할수 있다.


page 디렉티브의 주요속성 표


속성 

설명 

기본값 

contentType

jsp가 생성할 문서 타입 지정

text/html 

import

jsp 페이지에 사용할 자바 클래스 지정 

 

session

jsp 페이지에 세션 사용 여부 지정 true or false로 값을 지정

true 

buffer

jsp 페이지 출력 버퍼 크기 지정 4kb(4킬로바이트 크기의 출력 버퍼 지정) 숫자와 kb를 통해 크기를 지정한다.

 

autoFlush

출력 버퍼가 찼을 경우 데이터를 출력 스트림에 보내고 비울지 여부를 나태난다.버퍼의 내용을 브라우저에 보낸뒤 버퍼를 비운다.  

true 

info

jsp 페이지에 설명을 입력할수 있다. 

 

errorPage

jsp페이지 실행시 에러가 발생시 보여줄 페이지를 지정 

 

IsErrorPage

현재 페이지 에러 발생시 페이지를 보여줄지 여부를 지정할수 있다.

에러페이지 지정시 포함시키지 않을때 사용

true = 에러 페이지, false = 에러페이지가 아님 

false 

pageEncoding

jsp 페이지 캐릭터 인코딩을 지정. 

 

isElgnored

true = 표현언어 지원, false = 표현언어 지원을 하지 않음 

false 

deferredSyntaxAllowedAsLiteral

문자를 문자열 값으로 사용 여부 지정

false 

trimDirectiveWhitespaces 

출력 결과에 템플릿 텍스트 공백 문자 제거 여부 지정 

 false


jsp를 시작 하기전에 먼저 구조를 알아야 jsp를 진행하는데 의문을 갖지 않을것이다. 

현재 page 디렉티브의 내용을 적는건 jsp로 웹프로그래밍일 진행할때 최상단에 위치하며 이페이지가 어떤 페이지인지를 지정하고 각종설정들을 지정할수 있다.


html 태그를 기본적으로 알고 있다는 전제하에 보면 매우 새로운 문법들이지만 알고보면 어려울 것이 없다. 




1. page contentType

Exma.jsp

<!-- 페이지 언어는 java 이고 contentType text와 html로 되어있고 이페이지를  한글로된 html 을 사용하기 위해 euc-kr 형태로 페이지를 인코딩 하겠다는 애기입니다. -->
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<html>
<head>
<title>pageEncoding</title>
</head>
<body>
jsp를 시작 하기 위해 가장 위에 선언되는 부분 부터 해야 jsp를 하는데 궁금한게 없을것 같습니다.
</body>
</html>




2. page import

jsp는 java의 기능을 그대로 사용할수 있다고 했습니다.

java를 해보셨던 분은 알겠지만 기존에 만들어져 있는 java 클래스를 사용하기 위해서는 해당 클래스를 찾아서 호출 해야 사용할수 있습니다. 어는 클래스를 호출할때마다 jsp페이지에 해당 클래스에 모든 경로를 지정 하려면 번거롭기도 하고 소스도 더러워질것 입니다. 하지만 import 기능을 이용하면 원하는 클래스에 기본 경로만 지정 해놓으면 클래스 접근하기도 편하고 소스도 보기 한결 편할것 입니다.


Exam.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<!-- 아래처럼 java util중 calendar 클래스를 사용하기위해 import 해줍니다. -->
<%@ page import="java.util.Calendar" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<%
        //현재날짜와 시간 정보를 가는 Calendar 클래스의 인스턴스 생성
		Calendar cal = Calendar.getInstance();
	%>
	<!-- 실제 출력 -->
	현재년도는 <%= cal.get(Calendar.YEAR) %> 년도 입니다.
</body>
</html>

import 를 사용함으로써 Calendar 클래스 호출시 클래스의 풀경로를 입력할 필요가 없어졌습니다.




3. trimDirectiveWhitespaces 속성(공백 처리)

Exam.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<%@ page import="java.util.Date" %>
<!-- trimDirectiveWhitespaces 속성을 true로 지정  -->
<%@ page trimDirectiveWhitespaces="true" %>
<%
	Date now = new Date();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 	현재시간 : 
 	<%= now %>
</body>
</html>

결과 

마우스 우클릭해서 소스보기를 해보면

html 소스에 </body>가 붙어서 나온걸 확인할수 있다.





반응형