- 페이지 모듈화<jsp:include>액션 태그 목차
페이지 모듈화와 요청 흐름 제어
<jsp:include>
-서버측 include가 아닌 클라이언트 측의 include라고 생각하자.
-출력 결과만 (html코드)을 include한다.
-include 되는 페이지와 변수를 같이 사용할 수 없다.
-JSP의 실행 결과나 코드를 포함할 때 사용하는 액션 태그와 include디렉티브에 대해 알아본다.
ex) 중복되는 헤더나 푸터등 영역에서 사용하면 좋다.
이 두 기능을 사용하면 중복된 코드 없이 여러 JSP코드에 공통된 구성 요소를 만들 수 있다.
액션태그의 처리 과정
①. main.jsp가 웹브라우저의 요청을 받는다.
②. 출력내용 1을 출력 버퍼에 저장한다.
③. <jsp:include>가 실행되면 요청 흐름을 sub.jsp로 이동시킨다.
④. sub.jsp의 출력내용을 출력 버퍼에 저장한다.
⑤. sub.jsp의 실행이 끝나면 다시 main.jsp로 돌아온다.
⑥. main.jsp의 출력내용 2를 출력 버퍼에 저장한다.
⑦. 출력 버퍼의 내용을 웹브라우저로 전송한다.
<jsp:include> 액션 태그로 중복영역 처리
보통 웹 페이지의 경우 상단, 하단, 좌측의 고정적이다. 대부분 가운데의 내용 부분만 변경된다. 그렇기에 상단, 하단 부분을 <jsp:include>를 사용하여 포함시키면 중복된 부분을 없앨 수 있다.
예제는 총 4개의 JSP로 구성되어 있다. 화면 전체의 레이아웃을 잡아줄 layout.jsp와 상,하단 메뉴인 top.jsp, bottom.jsp 그리고 내용 부분인 content.jsp 이다.
여기서 내용 부분인 content.jsp 를 수정해도 전체 화면에는 아무런 영향을 미치지 않는다. → 유지 보수에 유리
■ layout.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<html>
<head>
<title>layout</title>
</head>
<body>
<table width="400" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>
<jsp:include page="top.jsp" flush="false"/>
</td>
</tr>
<tr>
<td>
<jsp:include page="content.jsp" flush="false"/>
</td>
</tr>
<tr>
<td>
<jsp:include page="bottom.jsp" flush="false"/>
</td>
</tr>
</table>
</body>
</html>
출처: https://all-record.tistory.com/106 [세상의 모든 기록]
■ top.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<html>
<head>
<title>top</title>
</head>
<body>
상단메뉴 :
<a href="#">HOME</a>
<a href="#">INFO</a>
</body>
</html>
출처: https://all-record.tistory.com/106 [세상의 모든 기록]
■ bottom.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<html>
<head>
<title>bottom</title>
</head>
<body>
하단메뉴 :
<a href="#">도움말</a>
<a href="#">약관</a>
<a href="#">사이트맵</a>
</body>
</html>
출처: https://all-record.tistory.com/106 [세상의 모든 기록]
■ content.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<html>
<head>
<title>content</title>
</head>
<body>
<br><br>
내용 페이지
<br><br>
</body>
</html>
출처: https://all-record.tistory.com/106 [세상의 모든 기록]
<%@ include % >
-서버측 include라고 생각하면 된다 즉, 소스 실행전에 include가 된다.
-소스 실행전 포함됨으로 변수를 같이 사용할 수 있다.
-동적으로 페이지를 할당 할 수 없다.
-별도의 파일로 요청 처리 흐름을 이동
-화면 레이아웃 일부분을 모듈화 할 때 주로 사용한다.
■속성
ㆍfile
-포함될 페이지 명시
<jsp:forward>
-액션 태그를 이용해 다른 JSP로 요청 처리를 전달하는 방법을 알아보자.
'Web(국비) > JSP' 카테고리의 다른 글
[JSP]include디렉티브와 코드 조각 자동 포함 기능 (0) | 2019.11.02 |
---|---|
<jsp:param>데이터 전달하기 (0) | 2019.11.02 |
setAttribute (0) | 2019.10.30 |
[Java]onsubmit()이란? (0) | 2019.10.27 |
[JSP]-onchange란? (0) | 2019.10.27 |