반응형
<%@ 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>
<link rel = "stylesheet" href="05style.css">
</head>
<body>

<header> <!-- 상단 부분  -->
	<%@ include file= "05top.jsp" %>
	<% out.println(a); %>	
	<%-- top.jsp에 코드를 카피해서 가져와서 실행 <%@ 지시문이라서 강하기 때문에 코드 카피 --%>
</header>

<section> <!-- linear layout과 유사 여러개 사용 가능 -->
	<h2> 메인 페이지입니다. </h2>
</section>

<footer> <!-- 하단 부분 -->
	<jsp:include page = "05footer.jsp" flush = "false"/>
	<%-- 액션태그는 해당 footer.jsp로 가서 실행후 다시 돌아감 main으로 돌아감
	main에 선언한 a변수가 있으면 그 a변수를 출력하라는 footer.jsp에 적어둬도 사용 불가
	--%>
	<% out.println(a); %>
	
</footer>

</body>
</html>

main 페이지입니다.

 

 

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

<h4> 메뉴 : <a href="05main.jsp">홈</a>   <a href="05sub1.jsp">학과소개</a>  커뮤니티  오시는 길</h4>
<% int a  = 6;%>

top.jsp 입니다.

 

<%@ page contentType = "text/html; charset=utf-8" %>

<p>
Copyright DONGYANG All Rights Reserved.
</p>

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>
<link rel = "stylesheet" href="05style.css">
</head>
<body>

<header>
	<jsp:include page = "05top.jsp" flush = "false"/>
	<%-- <% out.print(a); %> --%>
</header>

<section>
	<h2> 첫번째 서브페이지입니다!!!!! </h2>
</section>

<footer>
	<jsp:include page = "05footer.jsp" flush = "false"/>
	<%-- <% out.print(a); %> --%>
</footer>

</body>
</html>

sub.jsp 입니다.

 

모듈로 만드는 이유관리하기가 쉽고 유지보수할 때 다 뜯어 고칠 필요 없이 해당 부분만 고치면 되기 때문입니다.

또한 Top.jsp와 Footer.jsp같이 고정적인 부분한 페이지로 돌려 쓸 수 있어서 파일의 양도 줄일 수 있습니다.

 

이렇게 jsp파일을 불러오는 방법은 2가지가 있습니다.

 

1. <%@ include file = "페이지" %>

   <%@ include file= "05top.jsp" %>

 

2. <jsp:include page = "페이지" />

   <jsp:include page = "05footer.jsp" flush = "false"/>

 

이 둘의 차이점이 있는데 include file의 경우 main페이지에서 쓰였습니다.

Top.jsp를 보면 <% int a = 6; %> 가 있는데 include file의 경우 Top.jsp코드를 직접 가져와서 직접 실행시켜서

그 결과물을 가져오기 때문에 a값이 남아있어서 out.print(a)를 했을 때 값이 나오게 된 것이죠

 

하지만 jsp:include page의 경우 Top.jsp의 출력된 결과화면만 가져오기 때문a값이 남아있지 않아서

변수가 없다고 에러가 나오게 됩니다.

반응형