액션태그

페이지 이동, 외부 파일을 불러오기 등 jsp 페이지 내에서 어떤 기능을 제공하는 태그

형식) <식별자:액션태그명> 

액션태그 사용시 주석을 쓸 경우, <%--   --%> 를 사용한다

주석관련 포스팅 참고

 

액션태그의 종류

include, forward, useBean , setProperty, getProperty

_본 포스팅에서는 include, forward 액션태그만 다룰 예정 


include 액션태그

앞서 다룬 include지시어와 비슷한 기능을 한다

공통점: 외부의 파일의 내용을 불러와서 특정 위치에 넣어준다

차이점 : include 액션태그는 동적으로 내용을 변경/ include 지시어는 정적으로 문자열만 복사

include 지시어의 경우 내용을 수정하면 새로고침으로 수정된 내용을 반영할 수 없고, 다시 파일을 읽어들여야 된다

 

<jsp:include page="포함할 페이지명" flush="false" />

<~></~> => <  ~ />

 

* flush="false/true" 의 의미

버퍼에 데이터가 다 쌓이면 방류하게 되는데

입출력의 경우, 화면에 출력하기전까지 데이터가 버퍼에 쌓인다

이때 지정한 페이지로 이동하는 등의 액션이 발생하면 이때 버퍼에 쌓인 지금까지 작업한 내용을

현재 브라우저에 전송하고 지정한 페이지로 이동할 것인가.(true)

혹은 쌓아놓은 버퍼를 유지하면서 지정한 페이지로 이동할 것인가(false)를 결정해주는 속성이다. 

대부분 flush="false"의 속성으로 많이 사용한다

 

 

include 액션 태그 예제 

 

form.jsp

include.jsp 

sub.jsp

 

- 결과창


forward 액션태그

 

forward.jsp 

move.jsp

<jsp:forward page='이동할 페이지명(확장자포함)'>

a.jsp

b.jsp

 

- 결과창

a.jsp로 페이지는 이동했지만 url창의 경로는 처음 요청받았던 move.jsp로 나와있다


다른 페이지에서 데이터를 공유하는 방법

request|session|application.setAttribute("키명",저장할값)

request|session|application.getAttribute("키명")                                    

 

위의 forward예제에서 move.jsp를 move2.jsp로 변경하여 실행

 

 

move2.jsp

num변수, Date객체 데이터를 이동할 페이지에서도 사용가능하도록

요청 객체인 request에 담아 보낸다

서버의 메모리에 저장된다

* getParameter와 getAttribute는 비슷하여 헷갈릴 수 있는데,

getParameter의 경우, 입력받은 값을 매개변수를 통해 받아올 수 있고,

getAttribute의 경우, 메모리에 저장된 값을 받아올 수 있다

a.jsp

 

- 결과창

+ Recent posts