JSP 페이지 제어 방법
JSP에서 페이지를 제어하는 벙법은 인크루드 액션 태그를 사용하거나 포워드 액션 태그를 사용하여 페이지를 제어합니다. 또한, response.sendRedirect() 메소드를 사용하여 페이지를 이동시킬 수도 있습니다.
1. 인크루드 액션 태그
인크루드 액션 태그는 인크루드 디렉티브와 함께 다른 페이지를 현재 페이지에 포함시킬 수 있습니다. 인크루드 디렉티브는 단순하게 소스의 내용을 텍스트 형태로 포함하지만 인크루드 액션 태그는 포함시킬 페이지의 처리 결과를 포함시킨다는 점이 다릅니다. 따라서 인크루드 디렉티브는 주로 조각 코드를 삽입할 때 사용하고, 인크루드 액션 태그는 페이지를 모듈화하여 처리 결과를 현재 페이지에 포함할 때 사용합니다.
2. 포워드 액션 태그
포워드 액션 태그는 페이지의 전환을 시켜주는 액션 태그입니다. 현재 페이지에서 다른 페이지로 이동을 나타내며 페이지의 제어권을 완전히 다른 페이지로 넘겨 줍니다.
예 제
<%@ page contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<html>
<head>
<title> DIV 태그 태스트 </title>
<style type="text/css">
<!-- 스타일 시트 사용 -->
body { margin: 0; padiing: 10px; background-color: #fff; }
#footer { clear: both; background-color: #C3D9FF; height: 40px; width: 500px; }
</style>
</head>
<body>
<!-- 직접 DIV 태그를 사용한 부분 -->
<div id="header" style="background-color: #E8EEFA; width: 500px;" ><%@ include file="Header.jsp" %></div>
<div id="container" style="width: 500px;" >
<div id="left_menu" style="float: left; background-color: #ffc64a; width: 100px; height: 214px; "> 좌측메뉴 </div>
<div id="contents" style="float: right; background-color: #ffa12c; width: 400px; height: 214px;" >
<form method="post" action="infoPro.jsp">
이름 : <input type="text" name="name" maxlength="12"><br>
성별 : <input type="radio" name="sex" value="man">남자
<input type="radio" name="sex" value="woman">여자<br>
<input type="submit" value="입력완료"></form>
</div>
</div>
<!-- 스타일시트를 이용한 부분 -->
<div id="footer"> 하단</div>
</body>
</html>
header.jsp 페이지
<%@ page contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<html>
<head>
<title>헤더페이지</title>
</head>
<body>
<center>
<h2> include액션태그와 include 디렉티브 </h2></center>
</body>
</html>
content.jsp 페이지
<%@ page contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<html>
<% request.setCharacterEncoding("euc-kr"); %>
<%
String name=request.getParameter("name");
String sex=request.getParameter("sex");
try {
if(sex.equals("man")) { sex="남자"; }
else { sex="여자"; }
}catch(Exception e) {
out.println("성별 error");
}
%>
<head>
<title> DIV 태그 태스트 </title>
<style type="text/css">
<!-- 스타일 시트 사용 -->
body { margin: 0; padiing: 10px; background-color: #ffffff; }
#footer { clear: both; background-color: #C3D9FF; height: 40px; width: 500px; }
</style>
</head>
<body>
<!-- 직접 DIV 태그를 사용한 부분 -->
<div id="header" style="background-color: #E8EEFA; width: 500px;" >
<%@ include file="Header.jsp" %> </div>
<div id="container" style="width: 500px;" >
<div id="left_menu" style="float: left; background-color: #ffc64a; width: 100px; height: 214px; "> 좌측메뉴 </div>
<div id="contents" style="float: right; background-color: #ffa12c; width: 400px; height: 214px;" >
<form method="post" action="infoPro.jsp">
이름 : <input type="text" name="name" maxlength="12"><br>
성별 : <input type="radio" name="sex" value="man">남자
<input type="radio" name="sex" value="woman">여자<br>
<input type="submit" value="입력완료"></form>
</div>
</div>
<!-- 스타일시트를 이용한 부분 -->
<div id="footer"> <h> 입력한 값의 이름음 <%=name %>이고, 성별은 <%=sex %>입니다. </h></div>
</body>
</html>
[결 과]
footer.jsp 페이지와 left_menu.jsp 페이지는 생략했습니다.
※ 참고
포함되는 페이지에 CSS를 사용할 경우 포함시키는 페이지에서 CSS 정의가 있어야 포함되는 페이지의 CSS가 적용됩니다. 이것은 자바 스크립트 또한 마찬가지입니다. 포함되는 페이지를 작성할 때 주의하여 작성해야 합니다.
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
인크루드 액션태그와 인크루드 디렉티브의 차이점 (0) | 2009.06.15 |
---|---|
로그인 페이지 (0) | 2009.01.15 |
JDBC를 사용한 데이터베이스 연결 (0) | 2009.01.08 |
request 객체를 이용한 헤더와 파라미터 출력 예제 (0) | 2008.12.22 |
사용자에게 응답해주는 response 객체 (javax.servlet.ServletResponse) (0) | 2008.12.22 |