티스토리 뷰

액션태그는

 

JSP 페이지에서 JAVA Code 등의 Script언어를 사용하지 않습니다.

 

액션태그를 사용하므로써 개발자에게 장점

 

  1. 페이지 흐름을 제어
  2. JavaBean 속성을 읽고 쓴다.
  3. 애플릿(Applet)기능 등, 다양한 기능을 활용

 

 

액션태그는 스크립트릿(<% %>)을 사용하지 않습니다. [스크립트릿 : JAVA언어를 사용하기 위한 표현식]

->JSP 페이지의 내부적인 프로그램 로직을 사용자로부터 감출수가 있습니다.

 

그리고 new연산자를 사용하지 않습니다.

 

JSP에서 제공하는 액션태그는 크게 3가지로 나눌수가 있습니다.

 

  • 페이지 흐름 제어 액션

forward/include 액션

  • 자바빈 사용 액션

useBean 액션

  • 애플릿 사용 액션

plugin 액션

 

 

 

 

일단 forward액션에대해 알아보도록 하겠습니다.

 

forward액션

 

앞에서 설명한 pageContext 내장객체의 forward() 메소드가 태그로 구현된 기능입니다.

다시 복습하는겸 pageContext에대해 간단히 설명드리자면

request, session, application 속성을 제어하는 기능을 가진 내장객체입니다.

 

따라서 forward액션현재 페이지의 요청응답에 관한 처리권을 page속성에서 지정된 이동할 페이지로 영구적으로 넘기능 기능을 합니다.

 

forward 태그를 사용하여 이동할 페이지에 추가적으로 파라미터를 넘겨줄 필요가 있을 때에는

forward 태그의 하위 태그인 <jsp:param /> 태그를 사용할수 있습니다.

 

 

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

             <jsp:param name="파라미터 이름1" value="파라미터 값1"/>

             <jsp:param name="파라미터 이름2" value="파라미터 값2"/>

</jsp:forward>

 

 

Param 태그란?

      • Key와 Value를 전달하기 위해 사용
      • 독립적으로 사용 불가능
      • jsp:include, jsp:plugin, jsp:forward의 서브원소로 사용
      • Get방식의 전송 형태 가능

 

 

 

 

이제 forward액션태그가 무엇인지!!! 예제를 통해서 알아보도록 하겠습니다.

 

 

 

 

 

이렇게 3개의 파일을 생성해 줍니다.

 







 

11번째줄을 보면

forwardTest1.jsp파일로 forwardPage라는 hidden(숨김형태)인 파라미터를 보내줍니다.


그리고 실행을 시켜 보겠습니다.




[해석]

위에서 <input type="hidden" name="forwardPage" value="forwardTest2.jsp">를 보면


hidden이 숨김표시 라는 뜻 입니다. 그래서 실행을 시켜보면 입력 창에 실질적으로 나타나지는 않습니다.


그치만 나중에 보면 아시겠지만 forwardPage라는 이름으로 forwardTest2.jsp 라는 값을 가진 형태로 입력이 됩니다.


이거에 대한 자세한 설명은 밑에서 설명 드리겠습니다.


 

 

forwardTest1.jsp파일로 넘어옴니다.

 

 

[해석]

 

 forwardTest에서 form태그내에 있는 파라미터들을 forwardTest1.jsp로 넘겨줍니다.


근데 여기서 이전페이지에서 받은 파라미터중 하나인 forwardPage이름을 가진 놈을 표현식 을 사용하여 지정해주었다.


여기서 forward 액션태그를 사용해 주므로써 <jsp:forward page=" 이동할 페이지 ">


즉, "호출하겠다.(request) 어떤놈을? -> 파라미터를 가지고 오는데(getParameter) 그 파라미터의 이름은 forwardPage이다."


그 forwardPage라는 이름을 가진 파라미터의 값은 forwardTest2.jsp 이니까 즉, forwardTest2.jsp파일에 있는 파라미터들을 불러드린다는 의미다."


그 이동할 페이지에다가 param을 사용하므로써 파라미터(이름은 tel이고 그 값은 034-1234-5678)를 추가적으로 넘겨준다.

 

 

 

 

이제 forwardTest2.jsp파일로 넘어오겠습니다.

 

 

 

 

 

그리고 실행을 해 줍니다.

 

 

 



전송버튼을 클릭하면 forwardTest1.jsp로 요청이 전송되는데

포워딩 될 값이

forwardTest.jsp -> forwardTest2.jsp로 전송되었기 때문에 forwardTest2.jsp로 포워딩 된 결과를 알수가 있습니다.

 

forwardTest2.jsp로 전송된것은 value="forwardTest2.jsp" 때문입니다.

 

 

 

 

 

 



Comments