본문 바로가기
language/JSP

액션 태그(Action tag)

by 스파이디웹 2020. 11. 14.
728x90

-액션 태그

1)스크립트, 주석, 디렉티브와 함께 JSP 페이지를 이루는 요소이다.

2)페이지와 페이지 사이의 제어를 이동시킬 수도 있고, 다른 페이지의 실행 결과를 현재의 페이지에 포함시킬 수 있다.

3)자바빈을 JSP 페이지에서 사용할 수 잇는 기능도 제공한다.

4)웹 브라우저에서 자바 애플릿을 실행시킬 수 있도록 지원하는 기능도 있다.

 

-JSP에서 제공하는 6개의 액션 태그

액션 태그명 액션 태그 설명
include <jsp:include> 다른 페이지의 실행 결과를 현재의 페이지에 포함할 때 사용
forward <jsp:forward> 웹 페이지 간의 제어를 이동시킬 때 사용
plug-in <jsp:plug-in> 웹 브라우저에서 자바 애플릿을 실행시킬 때 사용
useBean <jsp:useBean> 자바빈을 JSP 페이지에서 쓸 때 사용
setProperty <jsp:setProperty> 프로퍼티의 값을 세팅할 때 사용
getProperty <jsp:getProperty> 프로퍼티의 값을 얻어낼 때 사용

-JSP 페이지의 모듈화

 

1.include 액션 태그(<jsp:include>)의 기본 사용법

-<jsp:include page="포함될 페이지" flush="true"/>

 

1)page  속성

-이 속성의 값은 현재 페이지에 결과가 포함될 페이지명이 되며, 생략 불가능한 필수 속성

 

-포함될 페이지명은 경우에 따라 상대 경로(같은 폴더 내 또는 하위 폴더내에 있는 페이지)를 쓰거나, 웹 애플리케이션 절대 경로(대부분)를 사용(표현식을 사용할 수 있다), include 디렉티브에서는 표현식을 쓸 수 없다.

ex)String content= request.getParameter("name");

<jsp:include page="<%=content%> flush="false"/>

 

2)flush 속성

-이 속성의 값에는 포함될 페이지로 제어가 이동될 때, 현재 포함하는 페이지가 지금까지 출력 버퍼에 저장한 결과를 처리하는 방법을 결정하는 것이 들어간다.

 

-flush 속성의 값을 "true"로 지정하면 포함될 페이지로 제어가 이동될 때, 현재 페이지가 지금까지 버퍼에 저장한 내용을 웹 브라우저에 출력하고 버퍼를 비운다.

 

2.include 액션 태그의 처리 과정

1)웹 브라우저가 a.jsp 페이지를 웹 서버에 요청한다.

 

2)서버는 요청받은 a.jsp 페이지를 처리하는데, a.jsp 페이지 내에서 출력 내용은 출력 버퍼에 저장하는 등의 작업을 처리한다.

 

3)이때 <jsp:include page="b.jsp" flush="false"/>문장을 만나면 하던 작업을 멈추고 프로그램 제어를 b.jsp페이지로 이동시킨다.

 

4)b.jsp페이지를 처리한다.b.jsp 페이지는 페이지 내로 출력 내용을 출력 버퍼에 저장한다.

 

5)b.jsp 페이지의 처리가 끝나면 다시 a.jsp 페이지로 프로그램의 제어가 이동하는데, 이동 위치는 <jsp:include page="b.jsp" flush="false"/> 문장의 다음 행

 

6)a.jsp 페이지의 나머지 부분을 처리한다. 출력할 내용이 있으면 출력 버퍼에 저장

 

7)출력 버퍼의 내용을 웹 브라우저로 응답

 

3.include 액션 태그에서 포함되는 페이지에 값 전달하기

-포함되는 JSP 페이지에 값 전달은 요청 파라미터를 추가적으로 지정하여 사용할 수 있는데, include 액션 태그의 바디(body)안에 param 액션 태그(<jsp:param>)를 사용하여 다음과 같은 형태로 사용

 

ex)

<jsp:include page="포함되는 페이지" flush="false">

  <jsp:param page name="paramName1" value="var1"/>

  <jsp:param page name="paramName2" value="var2"/>

</jsp:include>

 

4.JSP 페이지의 중복 영역 처리: JSP 페이지의 모듈화

-페이지의 통일성-> 템플릿 페이지를 작성해서 유지(유지보수가 쉬워진다.)

 

-중복되는 페이지들은 따로 만들어 include 액션 태그를 통해 호출한다.

 

-상단,좌측메뉴,내용,하단으로 구성된 템플릿

ex)

<table>

 <tr>

  <td colspan="2"><jsp:include page="top.jsp" flush="false"/></td>

 </tr>

 <tr>

  <td><jsp:include page="left.jsp" flush="false"/></td>

  <td><jsp:include page="<%=content%>" flush="false"/></td>

 </tr>

 <tr>

  <td colspan="2"><jsp:include page="bottom.jsp" flush="false"/></td>

 </tr>

</table>


-JSP 페이지의 흐름 제어

 

1.forward 액션 태그의 개요 <jsp:forward>

-forward 액션 태그는 페이지의 흐름을 제어하는 것으로, JSP 페이지 내에서 forward 액션 태그를 만나면 그전까지 출력 버퍼에 저장되어 있던 내용을 제거한 후 forward 액션 태그가 지정하는 페이지로 이동한다.

 

-사용자가 입력한 값에 따라 각 페이지로 이동해야 할 경우에 사용하면 좋다.

 

-forward 액션 태그를 통해 모델 2에서 컨트롤러를 훨씬 더 쉽게 이해할 수 있다.

 

2.forward 액션 태그의 기본 사용법

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

ex)

<jsp:forward page="a.jsp"/> <%--상대 경로--%>

<jsp:forward page="/ch05/a.jsp"/> <%--웹애플리케이션 절대 경로--%>

<jsp:forward page="<%=movePage%>"/> <%--표현식 사용--%>

 

1) forward 액션 태그의 처리 과정

 

-웹 브라우저에서 웹 서버로 a.jsp 페이지로 요청한다.

-요청된 a.jsp 페이지를 수행한다.

-a.jsp 페이지를 수행하다가 <jsp:forward> 액션 태그를 만나면 이제까지 저장되어 있는 출력 버퍼의 내용을 제거하고

프로그램 제어를 page 속성에서 지정한 b.jsp로 이동(포워딩)한다.

-b.jsp 페이지를 수행한다.

-b.jsp 페이지를 수행한 결과를 웹 브라우저에게 응답한다.

 

2) forward 액션 태그에서 포워딩되는 페이지에 값 전달하기

ex)

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

  <jsp:param name="paramName1" value="var1"/>

  <jsp:param name="paramName2" value="var2"/>

</jsp:forward>


-템플릿 페이지를 사용한 JSP 페이지의 모듈화

 

1)템플릿 페이지를 통한 MVC패턴의 뷰(view)작성

-MVC 패턴에서 Model(JavaBean,Logic Class), View(Jsp Page), Controller(Servlet)

 

-고정적으로 표시되는 부분과 내용이 바뀌는 부분을 모듈화시킨 페이지로 유지 보수를 쉽게 할 수 있다.

728x90

'language > JSP' 카테고리의 다른 글

JQuery 사용법  (0) 2020.11.15
Ajax+JQuery  (0) 2020.11.15
JSP 내장 객체(Implied Object)  (0) 2020.11.13
JSP(Java Server Pages) vs Servlet(Server+ applet)  (0) 2020.08.07
Model1 vs Model2 vs MVC(Model View Controller) 패턴(pattern)  (0) 2020.08.07

댓글