include 액션태그는 페이지 모듈화에 사용된다.
즉 중복되는 페이지를 단 하나의 페이지로 사용가능하다.
top.jsp
left.jsp
main.jsp
bottom.jsp
에서
top.jsp, left.jsp, bottom.jsp 등을 인크루드(include) 시킨다.
기본형:
<jsp:include page="test.jsp" flush="true">
includeForm.jsp
<%@ 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>
<form method="post" action="includeTest.jsp">
이름:<input type="text" name="name"><br>
포함될 페이지:<input type="text" name="pageName" value="includedTest.jsp"><br>
<input type="submit" value="submit">
</form>
</body>
</html>
---------------------------------------------------------------------------------------
includeTest.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>Insert title here</title>
</head>
<body>
<%
String pageName = request.getParameter("pageName");
%>
포함하는 페ㅇ지 includeTest.jsp입니다.<br>
이부분은 includeTest.jsp 페이지 입니다.<br>
<hr>
<jsp:include page="<%=pageName%>" flush="false" />
이부분은 includeTest.jsp 페이지 입니다.<br>
<hr>
</body>
</html>
------------------------------------------------------------------------------
includedTest.jsp
<%@ 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>
<% String name = request.getParameter("name"); %>
포함되는 페ㅇ지 includedTest.jsp입니다.
<h2><%=name %>님 오셨군요....</h2>
<hr>
</body>
</html>
-------------------------------------------------------------------------------
--------------------------------------------------------------------------------
include 액션 태그에서 포함되는 페이지에 값 전달하기
<jsp:include page="test" flush="flash">
<jsp:param name='param1" value="var1" />
<jsp:param name='param2" value="var2" />
</jsp:include>
<jsp:include page="test" flush="flash">
<jsp:param name='param1" value="<%=var%>" />
</jsp:include>
includeParam.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>Insert title here</title>
</head>
<body>
<%
String name= "김개동";
String pageName="includeParamTest.jsp";
%>
포함하는 페이지는 includeParamTest.jsp입니다.<br>
포함되는 페이지에 파라미터 값을 전달합니다.<br>
<hr>
<jsp:include page="<%=pageName%>" flush="false">
<jsp:param name="name" value="<%=name %>" />
<jsp:param name="pageName" value="<%=pageName %>" />
</jsp:include>
<hr>
이부분은 includeParam.jsp 페이지입니다.
</body>
</html>
=========================================================
템플릿 형으로 만들기
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:forward page="templateTest.jsp">
<jsp:param name="CONTENTPAGE" value="content.jsp" />
</jsp:forward>
------------------------------------------------------------------
templateTest.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% String contentPage = request.getParameter("CONTENTPAGE"); %>
<table border=1>
<tr>
<td clospan="2">
<jsp:include page="top.jsp" flush="false" />
</td>
</tr>
<tr>
<td width="150" valign="top">
<jsp:include page="left.jsp" flush="false" />
</td>
<td width="350" valign="top">
<jsp:include page="<%=contentPage%>" flush="false" />
</td>
</tr>
<tr>
<td>
<jsp:include page="bottom.jsp" flush="flase" />
</td>
</tr>
</table>
-----------------------------------------------------------------------
top.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
상단메뉴
<a href="#">회사소개</a>
<a href="#">제품소개</a>
--------------------------------------------------------------------------
left.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
좌측메뉴
<a href="#">회사소개</a>
<a href="#">제품소개</a>
---------------------------------------------------------------------------
content.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
내용입니다.
---------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
하단메뉴: 오시는길 | 개인정보보호
'기존카테고리 > JSP_basic' 카테고리의 다른 글
에러페이지 처리 (0) | 2017.06.28 |
---|---|
forward 액션태그 (0) | 2017.06.28 |
config 내장객체 (0) | 2017.06.28 |
application 내장객체 (0) | 2017.06.28 |
session 내장객체 (0) | 2017.06.28 |