1. 사용 방법
<%@ include file="포함할 JSP 파일" %>
일반적으로 포함시킬 파일의 확장자는 jspf로 한다.
- jsp fragment(조각) 라는 뜻
- jsp 확장자로 해도 상관없다.
컴파일 전에 포함할 페이지의 코드를 복사해서 해당 위치에 삽입한다.
- 예제
main.jsp
<!DOCTYPE html>
<%@ page contentType="text/html; charset=utf-8" %>
<html>
<head>
<title>main</title>
</head>
<body>
<%@ include file="sub.jspf" %>
<%= str + " " + str %>
</body>
</html>
sub.jspf
<%@ page contentType="text/html; charset=utf-8" %>
<p>
<% String str = "안녕하쎄여"; %>
<%= str %>
</p>
출력결과
안녕하쎄여
안녕하쎄여 안녕하쎄여
- sub.jspf에서 선언한 변수
str
은 어떻게 main.jsp 파일에서 그대로 사용할 수 있었을까?- 코드를 그대로 복사해서 끼워넣고 컴파일 하는 것이기 때문이다. 한 파일 내에 선언한 것과 다름 없다.
2. include 액션 태그와의 차이
페이지를 포함시키는 방식이 다르다.
- include 액션태그
- 포함 페이지로 흐름이 이동하여 해당 코드를 실행
- include 디렉티브
- 컴파일 전에 포함할 페이지의 코드를 복사해서 해당 위치에 삽입
- include 액션태그
사용 목적의 차이
- include 액션태그
- 레이아웃의 구성 요소를 모듈화하여 재사용
- include 디렉티브
- 다수의 JSP 페이지에서 사용하는 변수 선언(session 객체의 사용자 정보 등)
- 저작권 표시와 같이 많은 페이지에서 사용되는 간단한 문장
- include 액션태그
3. 코드조각 자동 포함 기능
헤더와 푸터는 모든 페이지에서 공통적인 경우가 많은데 모든 페이지에 헤더, 푸터를 포함하는 jspf 파일을 불러오는 것도 고생스럽다.
WEB-INF/web.xml을 통해 설정 자동화 가능
<jsp-config>
<jsp-property-group>
<url-pattern>/view/*</url-pattern>
<include-prelude>/common/variable.jspf</include-prelude>
<include-coda>/common/footer.jspf</include-coda>
</jsp-property-group>
</jsp-config>
url-pattern
- 프로퍼티를 적용할 JSP 파일의 URI 패턴
include-prelude
- JSP 파일의 앞에 삽입
include-coda
- JSP 파일의 뒤에 삽입
'웹 > JSP' 카테고리의 다른 글
10. 자바빈(JavaBean) (0) | 2020.07.19 |
---|---|
9. <jsp:forward> 액션 태그 (0) | 2020.07.19 |
7. <jsp:include> 태그 (0) | 2020.07.19 |
6. 에러 처리와 에러 페이지 (0) | 2020.07.19 |
5. out, application 객체 (0) | 2020.07.19 |