Choi의 고유결계

JSP Servlet: 액션태그 본문

Jsp,Servlet

JSP Servlet: 액션태그

믿을수없는맛 2018. 12. 30. 15:11
반응형

JSP 액션태그

JSP페이지에서 어떤 동작을 하도록 지시하는 태그입니다. 페이지이동, 페이지포함 등등..

기본적인 태그들

  • forward
  • include
  • param

forward

포워드 태그는 현재 페이지에서 다른 특정페이지로 전환할때 사용하는 태그 입니다.
정확히 말하면 현재 페이지의 요청,응답에 관한 처리권을 이동할 페이지로 영구적으로 넘기는 기능

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

포워드 태그는 위 처럼 jsp 내에써주는데요 page 속성을 주어서 이동할 경로를 정해주면 그 쪽으로 이동하게 됩니다.

포워드 태그에 대한 중요한 2가지가 남았는데요

1. 부모의 request, response를 이동할 페이지로 전달한다

이말인 즉슨 현재 내가 있는 페이지에서 sub.jsp 이로 이동한 후에도 이동하기 전에 사용했던 requset, response 객체를 그대로 사용할수 있다는 말이다.

2. URL 값이 변하지 않는다.

만약 아래코드를 실행시킨다고 한다면.

//지금 이페이지는 main.jsp 입니다.
<jsp:forward page = "sub.jsp">

결과는 “http://~~~/sub.jsp“ 가 아니라 “http://~~~/main.jsp“ 로 주소가 그대로 유지됩니다.


include

현재 페이지에 다른 페이지를 삽입할때 쓰는 태그 입니다. 포워드 태그는 태그 실행후 전으로 안돌아 오지만 인클루드 태그는 결과를 본후 다시 전 페이지로 돌아옵니다. 즉 무슨 말이냐면

main.jsp

 <h1>메인 페이지입니다.</h1>
 <jsp:include page = "include.jsp">
 <h1>다시 메인 페이지입니다.</h1>

include.jsp

 <h1>include 페이지입니다.</h1>

이후 실행결과를 보면

 메인페이지 입니다.

 nclude 페이지입니다.

 다시 메인 페이지입니다.

이처럼 다시 main.jsp로 돌아와서 다시 실행되는것을 알수있습니다.


param

포워드 및 인클루드 태그에 데이터 전달을 목적으로 사용되는 태그입니다.

<jsp:forward page = "sub.jsp">
    <jsp:param name = "id" value = "asdf"/>
    <jsp:param name = "pw" value = "1234"/>
</jsp:forward>

이런식으로 사용하면됩니다.
그후
sub.jsp에서

String id = requset.getParameter("id");
String pw = requset.getParameter("pw");

getPrameter를 사용하셔서 데이터값을 가져오시면 됩니다.

반응형
Comments