안녕하세요. pitang입니다.
JSP의 실행 결과나 코드를 포함할 때 사용하는 include 디렉티브와 액션 태그에 대해 알아보겠습니다.
include 디렉티브
include 디렉티브는 지정한 페이지를 현재 위치에 포함시키는 기능을 제공한다.
include 디렉티브를 사용하면 편리하게 공통 변수를 선언할 수 있고,
저작권 표시와 같이 모든 페이지에서 중복되는 간단한 문장을 사용할 수 있다.
include 디렉티브를 사용하면, JSP 파일을 자바 파일로 변환하기 전에
include 디렉티브에서 지정한 파일의 내용을 해당 위치에 삽입하고, 그 결과로 생긴 자바 파일을 컴파일한다.
include 디렉티브의 사용방법은 <%@ include file="포함할 파일" %> 과 같다.
file 속성은 include 디렉티브를 사용해서 포함할 파일의 경로를 지정한다.
include 디렉티브를 통해 다른 JSP에 포함되는 JSP 파일의 경우 일반 JSP 파일과 구분하기 위해
확장자로 jspf(JSP Fragment, JSP의 소스 코드 조각)를 사용하는 편이지만, jsp를 사용해도 된다.
ex1)
ex2)
<jsp:include> 액션 태그
<jsp:include> 액션 태그는 위치한 부분에 지정한 페이지를 포함한다.
액션 태그의 기본 사용 방법은 <jsp:include page="포함할 페이지" flush="true" /> 과 같다.
page는 포함할 JSP 페이지의 경로를 지정한다.
flush는 지정한 JSP 페이지를 실행하기 전에 출력 버퍼를 플러시할지 여부를 지정한다.
true이면 출력 버퍼를 플러시하고, false이면 플러시하지 않는다. 기본값은 false이다.
<jsp:include> 액션 태그와 include 디렉티브는 포함하는 방식에 차이가 있다.
<jsp:include> 액션 태그는 다른 JSP로 실행 흐름을 이동시켜 실행 결과를 현재 위치에 포함하는 방식인 반면에,
include 디렉티브는 다른 파일의 내용을 현재 위치에 삽입한 후에 JSP 파일을 자바 파일로 변환하고 컴파일하는 방식이다.
<jsp:include> 액션 태그 | include 디렉티브 | |
처리 시간 | 요청 시간에 처리 | JSP 파일을 자바 소스로 변환할 때 처리 |
기능 | 별도의 파일로 요청 처리 흐름을 이동 | 현재 파일에 삽입시킴 |
데이터 전달 방법 | request 기본 객체나 <jsp:param>을 이용한 파라미터 전달 | 페이지 내의 변수를 선언한 후, 변수에 값 저장 |
용도 | 화면의 레이아웃의 일부분을 모듈화할 때 주로사용 | 다수의 JSP 페이지에서 공통으로 사용되는 변수를 지정하는 코드나 저작권과 같은 문장을 포함. |
ex1)
ex2)
ex3)
-> URL에 파라미터값 pitang을 추가해주었다.
<jsp:param> 액션 태그
<jsp:include> 액션 태그는 <jsp:param> 태그를 이용해서 포함할 JSP 페이지에 파라미터를 추가할 수 있다.
<jsp:param> 액션 태그는 <jsp:include> 액션 태그의 자식 태그로 추가한다.
<jsp:param> 액션 태그의 name 속성과 value 속성은 각각 포함할 페이지에 새로 추가할 파라미터의 이름과 값을 입력한다.
value 속성에는 값을 직접 지정하거나 표현식을 이용해서 값을 지정한다.
액션 태그로 추가한 파라미터는 <jsp:include> 액션 태그로 포함하는 페이지에서만 유효하다.
ex1)
-> console 2번째는 city=seoul만, 3번째는 name=pitang&city=seoul 파라미터 값을 추가해주었다.
ex2)
ex3)
-> sub 파일에서 겉껍데기로 형태를 잘 만들어놓고 여러 메인페이지에서 쓰려고 한다. 여기서 사용하는 것이 액션 태그이다.
a 태그에 이름을 넣으려고 할때, <jsp:param> 액션 태그를 사용할 수 있다.
-> main에서는 link1, link2, link3으로 value를 넣어주었고, main1에서는 city1, city2, city3으로 value를 넣어주었다.
ex4)
ex5)
감사합니다.
*m1 맥북을 사용 중입니다.*
'6개월 대장정 > JSP 개념' 카테고리의 다른 글
52일차 - [JSP] <jsp:forward> 액션 태그 (0) | 2021.11.04 |
---|---|
51일차 - [JSP] attribute (0) | 2021.11.04 |
50일차 - [JSP] get-post, path, icon (0) | 2021.10.31 |
49일차 - [JSP] input attributes, select, textarea (0) | 2021.10.30 |
49일차 - [JSP] input types (0) | 2021.10.30 |