인클루드 액션 태그

<jsp:include>

 

인클루드 디렉티브 태그처럼 화면을 분할해서 관리하는데 사용

재사용성 향상

(= 레이아웃 모듈화)

 

액션 < - > 디렉티브
인클루드 액션 태그 인클루드 디렉티브 태그
JSP 레이아웃 모듈화
요청 시간에 처리 JSP를 자바코드로 변환 시킬 때
param 액션 태그를 이용해서 동적 처리 가능 정적 처리만 가능
a.jsp / b.jsp       각각 자바 파일로 생성 a.jsp / b.jsp 가 있으면 a.jsp에서 인클루드 했을 경우에 b.jsp 소스 내용을 a.jsp 위치에 포함 시켜버린다.

<인클루드 액션 태그>

a.jsp / b.jsp 

a.jsp 실행 도중에 인클루드 액션 태그가 발생한 지점에서 b.jsp로 제어권이 넘어 갔다가 b.jsp를 실행하고 다시

a.jsp가 제어권을 돌려받고 인클루드 액션 태그가 발생한 b.jsp지점 이후로 실행이 계속 실행됨.

 

<인클루드 디렉티브 태그>

a.jsp / b.jsp

 

a.jsp

소스 코드....

+ b.jsp 코드 

 

<jsp:include page = "JSP페이지" flush = "true" 또는 "false">
</jsp:include>

예시)

	<jsp:include page="duke_image.jsp">
	
		<jsp:param value="듀크2" name="name"/>
		<jsp:param value="duke2.png" name="imageName"/>
		
	</jsp:include>

 

포워드 액션 태그

<jsp:forward>

 

Servlet의 RequestDispatcher 클래스

 

Dispatcher 방식은 현재의 JSP페이지에서 거치지 않고 재요청

 

login.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h1> 아이디를 입력하지 않았습니다. 아이디를 입력 해주세요 </h1>
	<form action = "result.jsp" method = "post">
		아이디 : <input type = "text" name = "user_id"> <br>
		비밀번호 : <input type = "password" name = "user_pw"> <br>
		<input type = "submit" value = "로그인">
		<input type = "reset" value = "다시입력">
	</form>
</body>
</html>

result.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<%
		request.setCharacterEncoding("utf-8");
		String userID = request.getParameter("user_id");
		
		if(userID.length() == 0)
		{
// 			RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
%>
			<%--ID를 입력하지 않았으면 다시 <jsp : forward> 태그를 사용해 로그인 창으로 
			포워딩 --%>
			<jsp:forward page = "login.jsp"/>
<%
		}
%>
		<h1>환영합니다 <%=userID %>님~!</h1>
</body>
</html>
유즈빈 액션 태그