JSP

include 액션태그(<jsp:include> 액션태그)

devstep88 2021. 1. 16. 18:36

- include 액션태그는 include 디렉티브(<%@ include %>)와 함께 다른 페이지를 현재 페이지에 포함시킬 수

있는 기능을 가지고 있다. 그러나 include 디렉티브는 단순하게 소스의 내용이 텍스트로 포함된다.

include 액션태그는 포함시킬 페이지의 처리 결과를 포함시킨다는 점에서 include 디렉티브와 다르다.

includeTest2.jsp

<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>includeTest2</title>
</head>
<body>
<h1>includeTest2.jsp</h1>
<%
	String name ="걸음마코드";
	String pageName = "includedTest2.jsp";
	
%>
<h2>포함하는 페이지 상단</h2>

<!-- 위에 선언된 변수의 값을 포함되는 페이지(includedTest2.jsp)로 파라미터로 전달 -->
<jsp:include page="<%=pageName %>">
	<jsp:param value='<%=URLEncoder.encode(name, "utf-8") %>' name="name"/>
	<jsp:param value="<%=pageName %>" name="pageName"/>
</jsp:include>

<h2>포함하는 페이지 하단</h2>
</body>
</html>

includedTest2.jsp

<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>includedTest2.jsp</h1>
<%
// 	request.setCharacterEncoding("utf-8");
	String name = request.getParameter("name");
	String pageName = request.getParameter("pageName");
%>
<h2>이름: <%=URLDecoder.decode(name, "utf-8") %></h2>
<h2>페이지이름: <%=pageName %></h2>
</body>
</html>