[JSP] 공통코드 작성하기 - <jsp:include> 액션태그

<jsp:include> 액션태그의 주요 사용 방법

<jsp:include page="포함할 페이지" flush ="true"/>
  • page : 포함할 JSP 페이지의 경로를 지정
  • flush : 지정한 JSP 페이지를 실행하기 전에 출력 버퍼를 플러시할지 여부를 지정한다. true이면 출력 버퍼를 플러시하고, false 이면 플러시하지 않는다.

flush 속성이란?? → https://sas-study.tistory.com/203

 

[JSP] flush 속성

- jsp 액션태그(예 ) 속성 중 flush라는 속성이 있다. 이는 true, false 를 값으로 가지는 boolean 속성이다. - 이는 jsp:include 액션태그..

sas-study.tistory.com

<jsp:include> 액션태그 동작방식

  1. 메인.jsp가 웹 브라우저의 요청을 받게됨
  2. <jsp:include>액션태그를 만나기 전까지의 메인.jsp의 출력내용을 출력버퍼에 저장
  3. <jsp:include>액션태그를 만났다면 해당 페이지로 흐름이 이동된다.
  4. <jsp:include>페이지의 출력내용을 출력버퍼에 담는다.(flush 속성이 true일 경우라면 비워진 버퍼에 담을것임)
  5. 흐름이 다시 메인.jsp로 돌아오게 된다.
  6. 출력버퍼의 내용을 응답데이터로 전송한다.

일반적으로 

- header.jsp

- footer.jsp

- aside.jsp

- content.jsp

네가지의 페이지가 존재하고 이들이 한데 섞여 하나의 페이지를 구성한다고 할때, content.jsp 가 메인 페이지가 될 것이고 header, footer, aside 페이지들이 각각 조각페이지로 <jsp:include> 액션태그에 의해 content.jsp 파일에 삽입되는 형태로 구성될것이다.

이때, flush 속성은 false로 꺽어두는편이 좋다.

 

<jsp:param>으로 포함할 페이지에 파라미터를 추가할 수도 있다.

<jsp:include page="/header/header.jsp" flush="false">
    <jsp:param name="param1" value="value1" />
    <jsp:param name="param2" value="value2" />
</jsp:include>

이렇게 header.jsp에 param1이라는 속성명으로 value1이라는 값, param2 : value2 라는 값으로 파라미터를 전달할 수 있다. header.jsp에 로그인한 사용자의 정보를 띄운다고 한다거나 변하는 값을 header.jsp 에서 출력해야한다면 다음과 같이 파라미터를 전달하여 값을 출력하는 경우를 예로 들 수 있을 것 같다. 메인페이지에서 header.jsp로 실행흐름이 변경되기 때문에 파라미터를 전달하는 방법을 취하는 것이다. 당연하겠지만 전달된 파라미터는 header.jsp 페이지에서만 유효하게 사용될 수 있다.

- 또한 jsp:param으로 파라미터를 전달할 경우 인코딩셋을 알맞게 지정해야한다. utf-8 인코딩셋을 이용하여 파라미터값을 전송할 경우

request.setCharacterEncoding("utf-8");

다음과 같이 request객체로 캐릭터셋을 utf-8로 설정해놓고 전송해야한다. 마찬가지로 header.jsp 파일에서 파라미터를 받을 때 utf-8 캐릭터셋으로 파라미터값을 받아야 한다.

 

'웹 개발 > JSP' 카테고리의 다른 글

[JSP] 서블릿의 개념 및 기초 예제  (1) 2019.08.18
[JSP] 커스텀 태그 개념 및 예제  (0) 2019.08.18
[JSP] flush 속성  (0) 2019.08.17
[JSP] 에러페이지 지정하기  (0) 2019.08.17
[JSP] GET 방식 전송과 POST 방식 전송  (1) 2019.08.03

댓글

Designed by JB FACTORY