JSP 파일 연동하기(jsp:include,forward,param)
JSP 파일 연동하기(include 액션태그)
- main.jsp 안에 top.jsp, left.jsp, content.jsp, bottom.jsp를 넣어서 각각 참조하게 만듦
- jsp:include page=”” - 각 파일이 실행되고 합쳐진다
- 각각 파일들이 클래스, 자바 파일로 변환되고 합쳐짐
main.jsp 파일
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<header>
<jsp:include page="top.jsp" />
</header>
<div id="content">
<section id="areaSub">
<jsp:include page="left.jsp"></jsp:include>
</section>
<section id="areaMain">
<jsp:include page="content.jsp"></jsp:include>]
</section>
</div>
<footer>
<jsp:include page="bottom.jsp"></jsp:include>
</footer>
</body>
</html>
top.jsp 파일
상단 메뉴 :
<a href="">회사소개</a>
<a href="">제품소개</a>
left.jsp 파일
<br>
좌측 메뉴 :
<a href="">회사소개</a>
<a href="">제품소개</a>
content.jsp 파일
메인 내용입니다.
bottom.jsp 파일
하단메뉴 : 찾아오시는 길 | 개인보호 정책 | 도움말 | 약관
JSP 파일 연동하기(include 디렉티브)
- index.jsp 파일안에 들어가서 index의 클래스, 자바 파일만 만들어진다
- 스프링에서는 더 많이 사용
index.jsp 파일
<%@include file="include.jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body bgColor="<%=bodyback_c%>">
include 지시자 사용
</body>
</html>
include.jsp 파일
<%
String bodyback_c = "#e0ffff";
%>
JSP 파일 연동하기(jsp:forward)
- a.jsp파일의 주소를 쓰되 a.jsp의 작업을 무시하고 b.jsp의 파일만 나타냄
- a.jps파일에서 b.jsp로 제어를 넘기고 b.jsp에서 제어를 다시 넘기지 않고 끝난다
a.jsp 파일
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
a.jsp파일의 시작입니다 <br>
<jsp:forward page="b.jsp" />
a.jsp파일의 끝입니다
</body>
</html>
b.jsp 파일
<h3>b.jsp파일 내용입니다</h3>
JSP 파일 연동하기(jsp:param)
includeParamTest.jsp 파일
<% request.setCharacterEncoding("utf-8"); // 해당 파일에 제어권을 주는용도 %>
<%
String name = "홍길동";
String pageName = "includedParamTest.jsp"; // includedParamTest.jsp? name=홍길동 & pageName=includedParamTest.jsp
%>
포함하는 페이지 includeParamTest.jsp<br>
포함하는 페이지에 파라미터 값을 전달합니다<br>
<hr>
<jsp:include page="<%=pageName %>">
<jsp:param name="name" value="<%=name %>" />
<jsp:param name="pageName" value="<%=pageName %>" />
</jsp:include>
includedParamTest.jsp 파일
<%
String name = request.getParameter("name"); // 홍길동
String pageName = request.getParameter("pageName"); // includedParamTest.jsp
%>
파라미터 값을 전달받아 실행되는 <br>
포함되는 페이지 <%=pageName %>입니다<br>
<b><%=name%></b>님 오셨습니다
<hr>
JSP 파일 연동하기(request의 같은 작업)
- forwardFrom.jsp 파일에 제어권을 두고 jsp:forward로 forwardTo.jsp로 넘긴다
- 그러면 forwardFrom.jsp는 출력되지 않고, forwardTo.jsp만 출력
- 하지만 같은 request의 접근은 가능해서 forwardTo.jsp에서 request.getAttribute로 파일은 가져온다
forwardFrom.jsp 파일
<% request.setCharacterEncoding("utf-8"); %>
<%
//request.scope(영역)에 메모리 생성
request.setAttribute("id", "user01@abc.com");
request.setAttribute("name", "홍길동");
%>
forwardFrom.jsp 페이지입니다<br>
화면에 내용이 표지되지 않음 <br>
<jsp:forward page="forwardTo.jsp" />
forwardTo.jsp 파일
<%
String id = (String) request.getAttribute("id");
String name = (String) request.getAttribute("name");
%>
forwardTo.jsp 페이지입니다.<br>
아이디 : <b><%=id %></b> <br>
이름 : <b><%=name %></b>
댓글남기기