본문 바로가기

JSP/JSP Programming

[JSP] 액션태그(Action Tag)

반응형

■ 액션태그(Action Tag)

 JSP 액션태그는 클라이언트 혹은 서버에게 어떤한 행동을 행하도록 명령을 내리는 태그이다. JSP 페이지안에서 페이지와 페이지 사잉에 제어를 이동시킬 수도 있고 자바 빈을 사용할 수도 있다.


 ① JSP 액션태그의 형식은 JSP를 따르지 않고 XML 형식을 따른다.

 ② 시작 태그(<jsp:forward>)가 있으며 반드시 끝나는 태그(</jsp:forward>)가 있어야 한다.

 ③ 액션태그는 접두어(prefix) "jsp:"이 붙여서 "<jsp:"로 시작해야 한다.

 형식1 

  <jsp:... 속성 = "값">  내용  </jsp:...>

 예제1

 <jsp:forward page = "yellow02.jsp">

        <jsp:param name = "url" value = "red02.jsp"/>

        <jsp:param name = "news" value = "Happy New Year!"/>

  </jsp:forward>


 ④ 액션 태그에 속성값만 지정하고 내용이 없을 경우에는 XML 규칙에 의해 끝나는 태그를 따로 기술하지 않고

     시작 태그의 마지막 부분을 "/>"으로 마무리한다.

  형식2

  <jsp:... 속성 = "값/>

 예제2

  <jsp:forward page = "yellow.jsp"/>


※ 액션태그의 종류

태그의 종류

설            명

jsp:include

 -. 정적 혹은 동적인자원을 현재 페이지의 내용에 포함시킨다.

 -. 페이지를 모듈화 할 때 사용한다.

jsp:forward

 -. 다른 사이트로 이동할 때 사용한다. 페이지의 흐름을 제어할 때 사용한다.

jsp:useBean

 -. 빈(Bean)을 생성하고 사용하기 위한 환경을 정의하는 액션태그이다.

jsp:setProperty

 -. 액션은 빈에서 속성값을 할당한다.

jsp:getProperty

 -. 액션은 빈에서 속성 값을 얻어올 때 사용한다.

jsp:param

 -. <jsp:forward>, <jsp:include>, <jsp:plugin>과 같이 사용되어 인자를 추가할 때 사용한다.

jsp:plugin

 -. JSP 사용자가 플러그인을 사용할 수 있도록 HTML을 생성해 준다.


01. <jsp:forward> 액션 태그

 -. <jsp:forward> 태그는 현재 JSP 페이지에서 URL로 지정한 특정 페이지로 넘어갈 때 사용하는 태그이다.

 -. <jsp:forward> 태그는 page 속성 값에 호출하고자 하는 페이지를 지정할 수 있다.

<jsp:forward page = "호출 할 페이지"/>


# <jsp:forward> 액션 태그의 사용법을 알아보기

 red01.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>액션 태그의 사용법을 알아보기</title>
</head>
<body bgcolor = "red">
<center>
    <h3>[  jsp:forward 액션 태그에 대한 예제(Red)  ]</h3>
</center>
<hr/>
이 파일은 red.jsp 입니다.<br/>
웹 브라우저에 배경색이 빨간색으로 나타날까요?<br/>
노란색으로 나타날까요<hr/>
forward 액션태그가 실행되면 이 페이지의 내용은 출력되지 않습니다.<br/>
<jsp:forward page = "yellow01.jsp"/>
</body>
</html>

 yellow01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>액션 태그의 사용법을 알아보기</title>
</head>
<body bgcolor = "yellow">
<center>
    <h3>[  forward 액션 태그에 대한 예제(Yellow)  ]</h3>
</center>
<hr/>
이 파일은 yellow.jsp 입니다.
<br/>
<hr/>
웹 브라우저에 나타나는 URL과 전혀 상관없는 파일입니다.
</body>
</html>

 출력결과

 풀이

 실행결과를 보면 사용자가 주소란에 입력하여요청하는 페이지인 red01.jsp 파일의 내용은 전혀 나타나지 않고, yellow01.jsp 파일에 기술된 내용들만 화면에 나타날 것이다.

 현재 실행 결과는 <jsp:forward> 태그에 의해서 yellow.jsp 이지만 웹 브라우저의 주소란에는 여전히 red01.jsp 파일명이 나타나느 것을 확인할 수 있다.



02. <jsp:param> 태그

 -. <jsp:param> 태그는 요청한 페이지로 정보를 전달할 때 사용하는 태그이다.

 -. 현재 페이지에서 요청한 페이지로 인자(parameter)와 인자값(value) 형태로 값을 넘겨준다. 일반적인 형식은 다음과 같다.

<jsp:param name = "인자" value = "인자값"/>


 -. <jsp:param> 태그는 단독으로 사용하지 못하고 <jsp:include>나 <jsp:forward> 태그의 내부에 기술하여 사용한다.

 -. 단순히 page속성에 지정된 페이지로 이동할 것이 아니라 이동할 페이지에 자신의 정보를 파라미터 형식으로 전달 할 수 있는 태그가 <jsp:param> 태그이다.

  <jsp:forward page = "호출할 페이지">

        <jsp:param name = "name" value = "변수값"/>

  </jsp:forward>


 


# <jsp:param> 액션 태그의 사용법을 알아보기

 red02.jsp 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>액션 태그의 사용법을 알아보기</title>
</head>
<body bgcolor = "red">
<center>
    <h3>[  jsp:forward 액션 태그에 대한 예제(Red)  ]</h3>
</center>
<hr/>
이 파일은 red02.jsp 입니다.<br/>
웹 브라우저에 배경색이 빨간색으로 나타날까요?<br/>
노란색으로 나타날까요<hr/>
forward 액션태그가 실행되면 이 페이지의 내용은 출력되지 않습니다.<br/>
<jsp:forward page = "yellow02.jsp">
<jsp:param name = "url" value = "red02.jsp"/>
<jsp:param name = "news" value = "Happy New Year!"/>
</jsp:forward>
</body>
</html>

 yellow02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>액션 태그의 사용법을 알아보기</title>
</head>
<body bgcolor = "yellow">
<center>
    <h3>[  forward 액션 태그에 대한 예제(Yellow)  ]</h3>
</center>
<hr/>
이 파일은 yellow02.jsp 입니다.
<br/>
<hr/>
현재 웹 브라우저에 나타난 웹 페이지는<br/>
<%= request.getParameter("url") %>로부터 이동되었습니다.
<hr/>
<%= request.getParameter("url") %>
에서 넘어온 메시지 :
<%= request.getParameter("news") %>
<hr/>
</body>
</html>

 출력화면



03. <jsp:include> 액션 태그

 -. <jsp:include> 태그는 현재 페이지에 다른 페이지의 내용을 포함시키기 위해 사용되는 태그이다.

 -. page 다음에는 삽입할 페이지의 주소를 기술하되 상대 경로나 절대 경로 둘다 설정할 수 있다.

 -. flush 속성은 출력 버퍼(buffer)에 저장되어 있는 데이터를 내준다는 의미로 사용되며 항상 "true"로 설정되어 있어야한다.

 형식1 

  <jsp:... 속성 = "값">  내용  </jsp:...>

 예제1

 <jsp:forward page = "yellow02.jsp">

        <jsp:param name = "url" value = "red02.jsp"/>

        <jsp:param name = "news" value = "Happy New Year!"/>

  </jsp:forward>


# <jsp:include> 액션 태그의 사용법을 알아보기

  main02.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>액션 태그의 사용법을 알아보기</title>
</head>
<body>
<center>
    <h3>[  include 액션 태그에 대한 예제  ]</h3>
</center>
<hr/>
잠시 후를 기대해 주세요.
<br/>
...<br/>
...<br/>
...<br/>
<jsp:include page = "sub01.jsp" flush = "true"/>
<br/>
<br/>
main02.jsp 파일로 돌아왔습니다.
</body>
</html>

 sub01.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>액션 태그의 사용법을 알아보기</title>
</head>
<body>
<center>
<hr/>
    <i>sub01.jsp 파일의 시작 부분입니다.</i>
<br/>
<br/>
하이! 반가워요!!
<br/>
<br/>
    <i>sub01.jsp 파일의 마지막 문장입니다.</i>
<hr/>
</center>
</body>
</html>

 출력화면




※ <jsp:include> 액션 태그의 동작 원리


 ① main02.jsp가 요청되면

 ② 요청받은 main02.jsp 내의 문장들이 수행되다가 <jsp:include> 액션 태그를 만나면

     흐름의 제어가 page 속성에 지정된 sub01.jsp 파일로 이동된다.

 ③ sub01.jsp 내의 문장들이 수행된 후에는 다시 제어가 main02.jsp 내의

     <jsp:include> 액션 태그 다음 문장으로 이동된다.

 ④ main02.jsp 내의 남아있는 내용들이 수행된다.

 ⑤ 응답한다.

반응형

'JSP > JSP Programming' 카테고리의 다른 글

[JSP] 쿠키를 이용한 마지막 방문일을 표시하는 프로그램  (0) 2012.06.02
[JSP] 쿠키(Cookie)  (1) 2012.06.02
[JSP] JSP에서 한글 처리  (0) 2012.06.02
[JSP] response 객체  (0) 2012.06.02
[JSP] request 객체  (2) 2012.06.02