본문 바로가기

기존카테고리/JSP_basic

include 액션태그(jsp:include)


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>



-------------------------------------------------------

includeParamTest.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<%
String name = request.getParameter("name");
String pageName = request.getParameter("pageName");
%>
파라미터 값을 전달받아 실행되는<br>
포함되는 페이지 <%=pageName%>입니다.<br>

<h2><%=name %>님 안녕하세요.</h2>
<hr>



=========================================================


템플릿 형으로 만들기


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