[JSP] JSP (JavaServer Pages ) 구성요소
JSP (JavaServer Pages ) 구성요소
JSP 구성요소는 크게 6가지가 있다.
1. 스크립트(Script) 요소
2. 지시어 (디렉티브:directive)
3. 내장객체 (Implicit Object)
4. 액션태그(Action Tag)
5. 표현언어 (Expression Language)
6. 사용자 정의 태그, JSTL
아래에서 하나하나 살펴 보도록 하겠다.
현재 포스팅에서는 구성요소별 간단한 정의만 다뤘으며 각 구성요소별 디테일한 내용은 추후 포스팅에서 하나하나 포스팅하도록 하겠다.
스크립트(script)요소
스크립트요소는 페이지의 동적데이터를 생성하며 3가지로 분류한다.
1 |
스크립트릿 |
<% .. %> |
JSP 페이지 내부에 자바(JAVA) 소스코드를 삽입한다. |
2 |
표현식 |
<%= ... %> |
출력결과(HTML 요소내) 에 값(value) 를 넣기위해 사용한다. |
3 |
선언 |
<%! ... %> |
JSP 페이지 내부에 자바 메소드 (JAVA method) 를 선언한다 |
지시어(디렉티브:directive)
지시어는 JSP에 대한 설정 정보 또는 JSP 페이지에 다른문서를 포함(include) 시킬때 사용한다.
지시어는 아래와같이 분류 할수 있다.
1 |
<%@ page ... %> |
스크립트언어 , 에러페이지 지정, 버퍼 설정 등 을 정의한다. |
2 |
<%@ include ... %> |
번역단계에서 다른문서를 포함시킨다. |
3 |
<%@ tablib ... %> |
태그 라이브러리 를 선언한다. |
내장객체(Implicit Object)
JSP 컨테이너에 의해 개발자 들이 명시적으로 선언하지 않고 바로 사용할 수 있는 자바객체이며 사전 정의된 객체를 뜻한다.
1 |
request |
클라이언트에서 서버로 보내지는 요청과 관련된 객체 |
2 |
response |
서버에서 클라이언트로 보내지는 응답과 관련된 객체 |
3 |
out |
출력을 클라이언트로 보내는 객체 |
4 |
session |
서버측 웹컨테이너 에 사용자의 상태를 관리하는 객체 |
5 |
application |
어플리케이션 전반에 걸친 정보를 관리하는 객체 |
6 |
config |
페이지와 관련된 서블릿 설정 (servlet config) 객체 |
7 |
pageContext |
현재 페이지의 내용을 저장하고 있는 객체 |
8 |
page |
페이지에 대한 실제 인스턴스 (자바클래스) 를 저장하고 있는 객체 |
9 |
Exception |
이전 페이지의 에러를 저장하고 있는 객체 |
액션태그 (Action Tag)
액션태그는 XML 문법을 서블릿엔진을 제어한다.
1 |
jsp:include |
페이지가 요청될때 해당 태그가 위치한 곳에 파일을 포함시킨다. |
2 |
jsp:useBean |
javaBean 을 찾고 인스턴스화 한다. |
3 |
jsp:setProperty |
javaBean 의 프로퍼티를 설정한다. |
4 |
jsp:getProperty |
javaBean 의 프로퍼티를 가져온다. |
5 |
jsp:forward |
하나의 jsp 페이지 에서 다른 jsp 페이지 로 강제이동 시킨다. |
6 |
jsp:plugin |
javaBean 또는 Applet 을 현재 jsp 페이지 에 포함시킬때 사용한다. |
7 |
jsp:element |
XML 태그를 동적으로 정의한다. |
8 |
jsp:attribute |
동적으로 정의된 XML 태그의 속성을 정의한다. |
9 |
jsp:body |
동적으로 정의된 XML 태그의 본문을 정의한다. |
0 |
jsp:text |
JSP 페이지와 문서에 템플릿 텍스트를 쓰는데 사용한다. |
표현언어(Expression Language )
스크립트 요소의 사용없이 JSP 페이지에 값을 표현할수 있는 태그 기반의 새로운 언어이다.
기본문법은 ${expr} 이며 표현언어의 포현식에는 정수, 부동수소점 수 , 문자열, 부울값,에 대한 참거짓, 내장null을 사용할수있다.
표현언어는 별도로 다시 블로고 포스팅을 하도록 하겠다.
사용자 정의 태그 , JSTL
JSP 가 제공해주는 태그 외에 사용자가 별도로 정의하여 사용할수 있는 태그이며 JSTL 또한 사용자 정의 태그에 속한다.
JSTL (JSP Standard Tag Libary) 는 자바언어의 조건문, 반복문과 같은 프로그래밍 요소를 태그로 구현할수 있게 해준다.
JSTL 의 코어태그 (Core Tag ) 는 아래와 같다.
1 |
<c:out> |
<%= .. %> 와 유사하며 표현식에 사용된다. |
2 |
<c:set> |
JSP 에 사용될 변수를 지정하며 범위를 설정할 수 있다. |
3 |
<c:remove> |
변수를 제거한다. ( 범위를 설정한 경우 해당 범위내의 변수를 제거 ) |
4 |
<c:catch> |
에러 (Exception) 를 캐치하고 이를 처리한다. |
5 |
<c:if> |
조건이 참일 경우 본문 포함된다. |
6 |
<c:choose> |
조건태그 이며 배타적인 조건부 연산에 사용된다. |
7 |
<c:when> |
choose 태그가 사실일경우 본문에 포함된다. |
8 |
<c:otherwise> |
choose 태그가 거짓일경우 본문에 포함된다. |
9 |
<c:import> |
설정된 url 의 자원을 삽입한다. |
10 |
<c:forEach> |
컬렉션 또는 Map 과 같은 유형을 허용하고 이를 반복처리한다. |
11 |
<c:forTokens> |
설정한 구분자로 분리된 토큰을 반복한다. |
12 |
<c:param> |
import 태그에 설정된 url 에 파라미터를 추가한다. |
13 |
<c:redirect> |
새로운 url 로 리다이렉트 시킨다. |
14 |
<c:url> |
URL 를 재생성한다. |
참조 )
https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm