Step it up now

include 본문

프로젝트/도서관리

include

케잉 2024. 4. 2. 16:10

jsp:include

CRUD 특강에서는 중복되는 코드를 공통화할때 jsp:include를 사용합니다.

header.jsp와 nav.jsp, footer.jsp를 만든 다음 모든 jsp 파일에 include 받고 있지요.

그렇지만 수업시간에 다른 방식을 사용했을 수 있습니다.

바로 include 방식인데요.

jsp:include와 include는 큰 차이는 없지만 사용되는 경우가 다릅니다.

home.jsp에 nav.jsp를 포함시키고자 했을 때를 기준으로 살펴볼께요.

 
<jsp:include>

home.jsp에 nav.jsp를 jsp:include를 사용하여 포함한다면 코드는 다음과 같을 거에요.

Copy
<jsp:include page="include/nav.jsp"/>

jsp:include의가장 큰 특징은 nav.jsp가 실행된 후 그 결과가 home.jsp에 반영된다는 거에요.

이미 home.jsp에 jstl을 사용하겠다는 taglib 코드가 있음에도 불구하고

nav.jsp에서도 jstl을 사용하겠다고 taglib를 추가해줘야하는 이유죠.

대신, jsp:include는 포함시킬 페이지와 포함되는 페이지 간에 파라미터를 주고 받을 수 있습니다.

만일 home.jsp에서 nav.jsp를 포함시킬때 제목을 주고받고 싶다면 home.jsp에는 다음과 같이 작성하고

Copy
<jsp:include page="include/nav.jsp">
    <jsp:param name="title" value="페이지 타이틀"/>
</jsp:include>

nav.jsp에서 home.jsp가 전달한 정보를 다음과 같이 받아서 쓸 수 있는거죠.

Copy
<%
    String title_str = request.getParameter("title");
%>
제목은 <%title_str%> 입니다.
 
<%@ include%>

home.jsp에 nav.jsp를 <%@include%>를 사용하여 포함한다면 코드는 다음과 같을 거에요.

Copy
<%@ include file="nav.jsp"%>

include는 nav.jsp가 실행되기 전에 home.jsp에 먼저 포함되고 home.jsp가 실행되면서 같이 실행됩니다.

즉 include는 두 페이지 간에 주고받아야 할 파라미터가 별도로 없는 등

단순히 코드를 삽입해주고 싶을 때 사용하는 게 정석입니다.

include를 사용하게 되면 포함되는 페이지와 포함시키는 페이지 간에 파라미터를 주고 받을 수 없어요.

'프로젝트 > 도서관리' 카테고리의 다른 글

  (0) 2024.03.26
모델 2  (0) 2024.03.26
환경설정  (0) 2024.03.26