복습
스크립트 태그는 JSP 페이지가 서블릿 프로그램(.java)에서 서블릿 클래스(.class)로 변환될 때 JSP 컨테이너가 자바 코드가 삽입되어 있는 스크립트 태그를 처리하고 이 과정에서 나머지는 HTML코드나 일반 텍스트로 간주함
<%@ page ... %>
<%@ include ... %>
<%@ taglib ... %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
jsp 파일 생성 시 기본으로 생성되는 디렉티브 태그이다.
language는 기본적으로 java이다.
<%@ page contentType = " ... "%>
contentType 속성은 현재 jsp 페이지의 콘텐츠 유형을 설정하는데 사용된다.
EX) text/html , text/xml, text/plain etc..
추가적으로 HTML을 출력하는 JSP 페이지는 contentType을 사용할 필요가 없다.
contentType="text/html; charset=UTF-8" 처럼 charset을 통해 JSP 페이지의 전체 문자열을 변경할 수 있다.
contentType과 pageEncoding은 그 기능이 같다.
pageEncoding을 하고 싶은 언어를 contentType의 charset에 넣으면 똑같이 적용 가능하다.
현재 JSP 페이지에서 사용할 자바 클래스를 설정하는데 사용
여러개의 자바 클래스를 설정할 수 있음 콤마(,) 사용해서 여러개 설정 가능
<@page import = "java.io.*" %>
앞에서 언급한 contentType 처럼 맨 위에 쓰는 줄 알았는데 body에 사용 가능..
<body>
<%@ page import ="java.util.Date" %>
Today is <%= new Date()%>
</body>
처럼 사용시 Date 클래스를 사용할 수 있더라
현재 JSP 페이지가 실행되는 동안 오류가 발생하면 특정 오류 페이지로 이동하는데 사용
<% page errorPage ="MyErrorPage.jsp" %>
이렇게하면 MyErrorPage로 넘어가서 오류 환경 확인 가능함
자.. 자.. 왔다 include에
현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
포함할 수 있는 파일 : HTML, JSP, TEXT
<%@ include file = "파일명" %>
왜 쓰냐?
웹 애플리케이션의 중복된 코드나 공통된 코드를 모듈화할 수 있음
현재 JSP 페이지에 표현 언어, JSTL, 사용자 정의 태그 등 태그 라이브러리를 설정하는 태그
<%@ taglib uri = "경로", prefix ="태그 식별자" %>
prefix에 들어가는 태그 식별자는 사용자가 정의한 태그를 식별하기 위한 고유 이름을 의미한다.
왜 쓰는가?
해당 JSP 페이지 내에서 uri 속성 값을 그대로 사용하면 길어서 복잡함. prefix로 줄여서 사용하는 것
예제
<%@ taglib prefix ="c" uri ="~~~"%>
<body>
<c:for each~~~~~
>
...
등으로 uri에 있는 라이브러리를 이용할 수 있다.