본문 바로가기
WORKS/Java + JSP + Spring

[JSP] JSP action tag / jsp 액션태그 (include, forward)

by Jelly 젤리 2022. 2. 11.

include 액션

다른 페이지를 현재 페이지에 포함

<jsp:include param = "xx.jsp" />

이 때 url에는 include를 사용한 jsp의 파일명으로 나타나고

보여지는 페이지에는 내 jsp파일 안에 다른 페이지의 데이터를 포함해서 같이 보여주기 때문.

forward 액션

현재 페이지의 제어를 다른 페이지로 전달

<jsp:forward param = "xx.jsp"/>

이 때 url에는 forward를 사용한 jsp의 파일명으로 나타나고

보여지는 페이지에는 forward를 사용하여 부른 페이지만이 나타난다.

즉, 부르는 페이지의 이름으로 다른 페이지가 보여지는 것!

 

 

헷갈릴 수 있는 부분을 다시 짚어보자.

 

jsp1.jsp에서 forward 액션 태그를 사용하여 jsp2.jsp를 불렀다고 생각하자.

이 때 url에는 jsp1.jsp으로 표시되지만 실제 우리에게 보여지는 페이지는 jsp2의 내용일 것이다.

 

include의 경우에는 jsp1.jsp에서 jsp2.jsp를 불렀다고 생각했을 때

jsp1.jsp가 url에 표시되며 우리에게 보여지는 페이지는 jsp1.jsp에 jsp2.jsp의 데이터가 포함된 내용이다.

 

코드로 살펴보는 예시

forward_action.jsp에서 forward 태그를 활용하여 footer.jsp를 호출

 

footer.jsp에는 매개변수 email과 tel을 출력하는 코드가 담겨 있다.
forward_action.jsp를 run한 결과 보여지는 페이지

여기서 볼 수 있듯이 내용은 전부 footer.jsp의 것이다.

forward_action.jsp를 run한 결과 보여지는 url

그러나 보여지는 url은 forward_action.jsp의 것이다.

 


동일한 푸터를 가지고 include 액션태그를 살펴보자.

include_action.jsp에서 include태그를 활용하여 footer.jsp를 호출
include_action.jsp를 run하여 보여지는 페이지

include의 단어 뜻 그대로 footer.jsp를 include_action.jsp에 포함하여 보여준다.

include_action.jsp를 run하여 보여지는 페이지

url에도 include_action.jsp가 보여진다

 


홍길동이 나를 불러서 홍길동의 이름으로 같이 무대에 서는 것이 include

홍길동이 나를 불러서 홍길동의 이름으로 내가 대신 무대에 서는 것이 forward

728x90

댓글