키워드 : jsp 여러개, include
Tree page : 하나의 View에 여러개의 include(jsp)
main.java
package admin;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class main extends HttpServlet {
private static final long serialVersionUID = 1L;
//하나의 Controller에 하나의 View 적용
//단, 해당 View에 여러개의 include(jsp)가 있는 상황 => tree page
//실무에서 이렇게 사용함!!
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String corp = "에이핑크 사단법인(사)";
request.setAttribute("corp", corp);
RequestDispatcher rd = request.getRequestDispatcher("./main.jsp");
rd.forward(request, response);
}
}
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>관리자 메인 페이지</title>
</head>
<body>
<!--
외부 페이지를 가져오는 두가지 방법
<jsp:include page=""></jsp:include>
<%--
<%@ include file=""%>
--%>
-->
<header>
<jsp:include page="./top.jsp" flush="true"></jsp:include>
</header>
<section>
<%@ include file="./product.jsp"%>
</section>
<footer>
<jsp:include page="./copyright.jsp"></jsp:include>
</footer>
</body>
</html>
top.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<div style="height:100px;background-color:pink;">
상단 메뉴 파트
</div>
product.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<div style="height:800px;background-color:yellow;">
상품 리스트 출력 파트
</div>
copyright.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String corp = (String)request.getAttribute("corp");
%>
<div style="height:100px;background-color:skyblue;">
Copyright <%=corp%>2025 All Rights Reserved.
</div>