JSP에선 현재의 JSP 파일에 다른 JSP 파일을 포함시키는 것이 가능하다
headr, footer, nav bar (상태바, 사이드바 등) 등의 파일을 따로 만들고 메인 파일에 불러와 붙일 때 사용한다
* Include의 2가지 방식
1. include directive (지시어)
2. include action (액션)
- 공통점 : 두 가지 모두 경로의 파일을 불러온다
- 차이점 : 지시어는 해당 소스의 파일을 포함 시킨 후 컴파일 실시, 실행
액션은 실행 시점에서 경로의 파일을 수행한 결과를 포함 시켜 줌
1. include directive (지시어) 사용하기
<%@ include file="가져오고자 하는 파일 경로" %>
예시)
-include_main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>include 실습</title>
</head>
<body>
<header> <%@ include file="header.jsp" %> </header>
<main> 안녕하세요! main 페이지 입니다. </main>
<aside> <%@ include file="nav.jsp" %> </aside>
<footer> <%@ include file="footer.jsp" %> </footer>
</body>
</html>
-header.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> <h1>include 실습 헤더입니다.(header)</h1></body>
</html>
-nav.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>
<ul>
<li>메인 페이지</li>
<li>공지사항</li>
<li>자유게시판</li>
<li>Q&A</li>
<li>...</li>
</ul>
</body>
</html>
-footer.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>
<h1>include 실습 푸터입니다.(footer)</h1>
</body>
</html>
결과)
2-1. include action( 액션) 사용하기
<jsp:include page="가져오고자 하는 파일 경로" />
2-2. include action( 액션) 사용하기 : jsp param 태그를 활용하여 파라메터 값 함께 전달
예시)
- main.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>
<h2>param_header 호출 전</h2>
<% String name = "kim"; String age = "20"; %>
<%=name %> <br>
<%=age %> <br>
<jsp:include page="param_header.jsp">
<jsp:param name="name" value="choi"/>
<jsp:param name="age" value="39"/>
</jsp:include>
<h2>param_header 호출 후</h2>
<% String name2 = "kim"; String age2 = "20"; %>
<%=name2 %> <br>
<%=age2 %> <br>
</body>
</html>
- param_header. 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>
<h2>param_header 내용 출력</h2>
<%
String name = request.getParameter("name");
String age = request.getParameter("age");
%>
<%=name %> <br />
<%=age %> <br />
</body>
</html>
결과)
'Web과 프로그래밍 언어 > JSP' 카테고리의 다른 글
[JSP] JSP 에서 String sql 정의 시 enter 사용 에러 해결 방법 (0) | 2022.11.08 |
---|---|
[JSP/SERVLET]HTTP 상태 404 - 요청된 리소스 [/]은(는) 가용하지 않습니다. 에러 해결 방법 (0) | 2022.10.05 |
[JSP] alert 창 띄우고 화면 이동하기 (jsp 태그와 html 태그의 우선순위) (1) | 2022.09.30 |