JSP

액션 태그

액션 태그는 스크립트, 주석, 디렉티브와 함께 JSP 페이지를 이루고 있는 요소 중 하나입니다. 다음은 액션 태그를 정리한 표입니다.

태그의 종류 설명
 

다른 사이트로 이동할 때 사용

페이지의 흐름을 제어할 때 사용

 

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

페이지를 모듈화할 때 사용

  , , 과 같이 사용되어 파라미터를 추가할 때 사용
  빈(Bean) 을 생성하고 사용하기 위한 환경을 정의하는 액션 태그
  액션은 빈에서 속성 값을 할당
  액션은 빈에서 속성 값을 얻어올 때 사용

 위 표에 정리한 액션 태그 중 페이지의 흐름을 제어할 때 사용하는 와 페이지를 모듈화할 때 사용하는 에 대해서만 이번 장에서 학습하고 , , 는 자바 빈과 연관된 액션 태그이기에 6장에서 다루기로 하고 이번 장에서는 다루지 않도록 하겠습니다.

나 와 같은 액션 태그가 제공하는 기능은 JSP 의 내장 객체를 통해서 자바 코드 형태로도 작성할 수 있는 것을 태드로 표현할 수 있도록 한 것입니다.

그런데, 액션 태그가 왜 필요한 것일까요?

 

그 이유는 jsp페이지에서는 동일한 내용이라도 자바 코드를 기술하기보다는 태그를 기술하는 것이 지저분하지 않고 깔끔하게 코딩할 수 있어 가독성 높은 소스코드를 작성할 수 있습니다. 뿐만 아니라 액션태그를 사용하면 자바로 기술했을 때보다 코드 양을 대폭 줄일 수 있기 때문입니다.

 액션 태그는 XML 문법을 따릅니다. 즉 시작 태그와 함께 반드시 종료 태그를 포함해야 합니다. 다음은 액션 태그의 기본 형식입ㄴ디ㅏ.

내용

다음은 XML 형식을 따르는 간단한 액션 태그의 예입니다.

 

 

 

 

 

 

JSP 액션 태그는 XML 형식을 따르기 때문에 시작 태그() 가 있으면 반드시 끝나는 태그() 가 있어야 합니다. 또한 액션 태그는 접두어 (prefix) "jsp:" 을 붙여서  "

액션 태그에 속성값만 지정하고 내용이 없을 경우에는 XML 규칙에 의해 끝나는 태그를 따로 하지 않고 시작 태그의 마지막 부분을 "/>" 로 마무리합니다.

 

 

내용이 없는 액션 태그의 예입니다.

 

 

액션 태그

태그는 현재 Jsp 페이지에서 URL 로 지정한 특정 페이지로 넘어갈 때 사용하는 태그입니다. 형식은 다음과 같습니다.

 

포워드 방식으로 페이지를 이동하는 것으로 기존의 request 연결을 유지하면서 서버상의 url 로 request 정보를 전달합니다. 서블릿상에서 다음 코드와 동일할 동작을 합니다.

RequestDispatcher dispatcher =getServletContext().getRequestDispatcher("url");

dispatcher.forward(request, response);

 

앞서 배웠던 페이지 이동 방식(리다이렉트, 포워드) 중에서 포워드 방식으로 이동하기 위해서 forward()  메소들를 사용하였습니다. 액션 태그에서는 

를 사용하여 포워딩할  수 있습니다. 자바 코드를 사용하는 것보다 액션 태그를 사용하는 것이 훨씬 깔끔하기 때문에 액션 태그가 등장하게 된 것이기 때문에 액션 태그를 사용하는 것이 깔끔하고 가독성 높은 페이지를 만들 수 있습니다.

그럼 태그의 동작 원리를 이해하기 위해서 간단한 JSP 예제를 만들어 보겠습니다. 우선 먼저 우리가 작성할 예제의 결과부터 봅시다.

브라우저의 주소란에 다음과 같이 입력합니다.

 

http://localhost:8181/web-study-04/08_red.jsp

 

08_red.jsp 페이지가 요청되지만 태그가 08_yellow.jsp 파일로 제어의 흐름을 이동시킵니다.

다음은 페이지 이동 예제를 위한 JSP 파일들 목록입니다.

파일 설명
08_res.jsp

브라우저로 로드할 파일. 웹 문서의 배경색을 빨간색으로 지정한다.

이 파일에 태그로 yellow.jsp 파일을 요청한다.

08_yellow.jsp red.jsp 에 의해 요청되는 페이지이다. 웹 문서의 배경색을 노란색으로 지정한다.

 

 예제를 실행해 보면 화면에 나타나는 것은 빨간 배경색을 가진 08_red.jsp가 아닌 노란 배경색을 가진 08_yellow.jsp 파일임을 알 수 있습니다. 

태그로 08_yellow.jsp 로 포워딩했기 때문입니다.

 

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

 





JSP
 

 

이 파일은 red.jsp 입니다.

브라우저에 배경색이 빨간색으로 나타날까요?

노란색으로 나타날까요?



forward 액션 태그가 실행되면 이 페이지의 내용은 출력되지 않습니다.

 

 



 

---------------------------------------------------------------------------

 

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

 

 

 

 


Insert title here

 

 

 

[forward 액션 태그에 대한 예제 ]

 



이 파일은 yellow.jsp입니다.

 

 

 



브라우저에 나타나는 URL 과 전혀 상관없는 파일입니다.

 



 

 

액션태그

액션 태그로 이동하는 페이지에 정보를 추가하고 싶을 경우가 있습니다. 이럴 경우 사용하는 액션 태그가 입니다.

태그는 요청한 페이지로 정보를 전달 할 때 사용하는 태그입니다.

태그는 단독으로 사용하지 못하고 나 태그의 내부에 기술하여 사용합니다.

 

 

 

 

 

즉 로그인 처리에서 로그인 인증 처리한 후 으로 회원전용 페이지로 이동하면서 로그인에 성공한 사용자의 이름을 파라미터 값으로 다음 페이지에 전달하기 위해서 사용하는 태그입니다.

 다음은  태그의 일반적인 형식입니다.

 

 

 현재 페이지에서 요청한 페이지로 파라미터와 파라미터 값(value) 형태로 정보를 넘겨줍니다.

page 속성 값으로 호출하고자 하는 페이지를 지정할 수 있습니다.

단순히 page 속성에  지정된 페이지로 이동할 것이 아니라 이동할 페이지에 자신의 정보를 파라미터 형식으로 전달할 수 있는데 이때 사용하는 태그가 태그 입니다. 태그는 태그 내부에 기술해야 합니다.

 

 

 

 

태그의 name 속성에 이름을 지정하고 value 속성에 값을 기술하여 이동할 페이지에 값을 실어 줍니다.

 다음은 태그와 태그를 사용하여 조건에 따라 서로 다른 페이지로 이동하는 예제입니다. 라디오 버튼을 두어 사용자로

로그인할지 관리자로 로그인할지를 선택하도록 합니다.

 

 

 

 

about author

PHRASE

Level 60  머나먼나라

그 사람의 미덕과 인품에 이끌려 자신도 모르게 가까이 다가갈 때, 비로소 사랑은 시작된다. -그라시안

댓글 ( 4)

댓글 남기기

작성

JSP 목록    more