인클루드 액션 태그 사용하기

화면 공유 및 관리 시 include 문 태그처럼 사용

자주 사용하는 홈페이지의 상단 화면과 좌측 메뉴 화면을 재사용할 수 있습니다.

작업 태그 형식 포함

<jsp:include page="jsp페이지" flush="true 또는 false">
	...
</jsp:include>

여기서 page는 포함할 JSP 페이지를 의미하며 flush는 지정된 JSP를 실행하기 전에 출력 버퍼를 플러시할지 여부를 나타냅니다.

include 문 태그와 include 작업 태그의 차이점

기사 액션 태그 포함 지시 태그 포함
기능 JSP 레이아웃 모듈화 JSP 레이아웃 모듈화
측면 변경 요청 시 처리 JSP를 Java 코드로 변환할 때 처리
포함된 JSP Java 파일을 변환해야 하는지 여부 포함된 각 JSP는 Java 파일로 생성됩니다. 포함된 JSP는 포함하는 JSP와 병합되어 단일 Java 파일로 빌드됩니다.

작업 태그 처리 프로세스 포함


  1. 브라우저 요청 시 JSP 파일 컴파일
  2. 컴파일할 때 다음에서 참조하는 JSP를 요청합니다. 참조
  3. 요청된 JSP 컴파일
  4. 컴파일된 JSP가 응답을 보냅니다.
  5. JSP는 브라우저가 요청한 응답 결과를 출력합니다.

JSP 페이지에 이미지 삽입 연습

1. duke_image.jsp, include1.jsp, include2.jsp 파일 생성

<%-- duke_image.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	<%-- param 액션 태그로 전달된 매개변수를 getParameter() 메서드를 이용해 가져옴 --%>
	request.setCharacterEncoding("utf-8");
	String name = request.getParameter("name");
	String imgName = request.getParameter("imgName");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>듀크 이미지</title>
</head>
<body>
	<br><br>
	<h1>이름은 <%= name %>입니다.</h1><br><br>
	<img src="http://vibeee.m/./image/<%= imgName %>" />
</body>
</html>

이름과 이미지 파일이 전달된 후 getParameter( ) 메소드로 상위 JSP에 포함을 요청하면 이름과 해당 이미지가 반환된다.

<%-- include1.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include1.jsp</title>
</head>
<body>
	안녕하세요. 쇼핑몰 중심 JSP 시작입니다!!!
	<br>
	<jsp:include page="duke_image.jsp" flush="true" > <%-- duke_image.jsp를 동적으로 포워딩 --%>
    	<%-- param 액션 태그를 이용해 duke_image.jsp로 이름과 파일 이름을 전달 --%>
		<jsp:param name="name" value="듀크" />
		<jsp:param name="imgName" value="duke.png" />
	</jsp:include>
	<br>
	안녕하세요. 쇼핑몰 중심 JSP 끝 부분입니다.!!!
</body>
</html>

하위 JSP duke_image.jsp를 태그를 포함해야 하며 다음을 사용하여 이름과 이미지 파일 이름을 하위 JSP duke_image.jsp에 동적으로 전달해야 합니다. -태그 사용(param action shield)

<%-- include2.jsp --%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%
	request.setCharacterEncoding("utf-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include2.jsp</title>
</head>
<body>
	안녕하세요. 쇼핑몰 중심 JSP 시작입니다!!!
	<br>
	<jsp:include page="duke_image.jsp" flush="true" >
        <%-- param 액션 태그를 이용해 duke_image.jsp로 이름과 파일 이름을 전달 --%>
		<jsp:param name="name" value="듀크2" />
		<jsp:param name="imgName" value="duke2.png" />
	</jsp:include>
	<br>
	안녕하세요. 쇼핑몰 중심 JSP 끝 부분입니다.!!!
</body>
</html>

다른 이름과 이미지 파일 이름을 git jsp에 전달

2. http://localhost:8090/pro13/include1.jsp로 쿼리 결과 확인


include1.jsp 요청 시 결과 출력

3. http://localhost:8090/pro13/include2.jsp로 쿼리 결과 확인


include2.jsp 요청 시 결과 출력

따라서 포함 작업 태그는 포함된 하위 JSP에 데이터를 동적으로 제공하고 원하는 결과를 반환할 수 있습니다.


JSP 파일 변환 결과 확인

/Users/sungwoo/Desktop/myJSP/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/work/Catalina/localhost/pro13/org/apache/jsp

탐색기에서 위의 경로를 입력하면 아래와 같이 JSP 파일이 Java 파일로 변환된 것을 확인할 수 있습니다.


자바 파일로 변환

각 JSP 파일에 대해 Java 파일이 작성됩니다.

여기에서 요청한 include1.jsp java 파일을 include 액션 태그와 함께 열면 태그가 전달된 매개변수는 하위 JSP로 전달됩니다.

의 가치 – 포함 액션 태그의 태그는 요청 객체에 바인딩되어 하위 JSP로 전달됩니다.


include 액션 태그를 이용한 JSP 파일 변환 결과(include1_jsp.java)