액션태그?
서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그
JSP 페이지에서 페이지와 페이지 사이 제어
다른 페이지의 실행 결과 내용을 현제 페이지에 포함
XML형식 , <jsp: .../> 사용

이 중 forward / include 액션 태그가 많이 사용되고 + param 액션 태그까지 많이 사용된다.
forward 액션 태그

forward는 다른 페이지로 이동 즉, 페이지의 흐름을 제어하는 액션 태그다.
코드가 실행되다 forward 태그가 실행될 때, 다른 페이지로 이동하며 그 뒤에 있는 코드들은 실행되지 않는다.
페이지를 이동할 때 jsp:param을 통해 파라미터를 요청할 수 있다.
buffer 임시공간에 실행된 코드의 값이 들어 있다가 forward가 실행될 때 버퍼가 지워지고 이동할 jsp파일의 값이 들어간다.
include 액션 태그

include 액션 태그는 해당 include한 위치에 jsp파일이 첨부 되는 액션 태그다.
코드가 실행되다 include 태그가 실행된 후 기존 jsp파일의 include 태그 이후 코드들이 실행된다.
flush 속성을 true / false 중 어느 것으로 주는지에 따라 실행 과정이 차이가 있다.
A - b(include) - C 로 진행될 때
flush 속성을 true로 설정하면 버퍼 안에 A가 들어 왔다가 A를 크롬에 출력, 버퍼를 비우고 B가 버퍼에 들어옴, B를 크롬에 출력 후 버퍼 비우고 C에 버퍼 들어온 후 크롬에 C 출력
false로 설정하면 버퍼 안에 A 쌓고 B 쌓고 C 쌓고 한번에 크롬에 출력
flush 속성을 true로 설정하면, 포함된 내용이 처리되는 동안에도 브라우저로부터 응답이 전송되어 클라이언트는 부분적인 응답을 받을 수 있다.
예를 들어, 페이지가 큰 테이블이나 데이터를 처리하는 경우, flush를 true로 설정하여 일부 데이터가 준비되는 즉시 사용자에게 표시할 수 있다.
반대로, flush 속성을 false로 설정하면, include 액션 태그를 처리하는 동안에는 아무런 응답을 클라이언트로 보내지 않는다.
전체 내용이 처리된 후에 한 번에 응답을 보내게 된다. 이 경우 사용자는 페이지의 모든 내용을 기다려야 하므로 응답이 느려질 수 있다.
따라서, flush 속성을 명시적으로 false로 설정하지 않는 한, include 액션 태그의 flush 속성 값은 기본적으로 true다.
include 액션 태그와 include 디렉티브 태그의 차이점은?
둘 다 현재 jsp 페이지에 다른 jsp페이지의 코드를 포함하는 기능을 제공한다는 점에서는 비슷하다.
하지만, include 디렉티브 태그(정적페이지)는 단순히 다른 페이지의 내용이 포함되지만, include 액션 태그(동적페이지)는 다른 페이지의 처리 결과 내용을 포함한다.
param 액션 태그
현재 JSP페이지에서 다른 페이지에 정보를 전달하는 태그
이 태그는 단독으로 사용되지 못하며, forward나 include 태그의 내부에 사용한다.
다른 페이지에 여러 개의 정보를 전송해야 할 때는 다중의 param 액션 태그를 사용한다.

param 액션 태그로 데이터를 보낸 후 그 데이터를 꺼낼때에는
<% String 변수명 = request.getParameter("매개변수명") %> 으로 받을 수 있다.
자바빈즈 액션 태그
1. 자바빈즈?
- 동적 컨텐츠 개발을 위해 자바 코드를 사용하여 자바 클래스로 로직을 작성하는 방법
- JSP 페이지에서 화면을 표현하기 위한 계산식이나 자료의 처리를 담당하는 자바코드를 따로 분리하여 작성하는 것
- JSP 페이지가 HTML과 같이 쉽고 간단한 코드만으로 구성
2. 자바빈즈 작성 규칙
- 자바 클래스는 java.io.Serializable 인터페이스를 구현해야 한다.
- 기본 생성자가 있어야 한다.
- 멤버 변수는 private 접근 지정자로 설정해야한다.
- 모든 멤버 변수에 대해 getter/setter메서드가 있어야 한다.
3. useBean 액션 태그
- JSP 페이지에서 자바빈즈를 사용하기 위해 실제 자바 클래스를 선언하고 초기화하는 태그


useBean 액션 태그 사용 예)

따라서 액션 태그 작성 후 "useBean id값" . "useBean class의 메서드()" 이런 식으로 사용 할 수 있다.
'JSP' 카테고리의 다른 글
| [JSP] 파일 업로드 (0) | 2023.07.05 |
|---|---|
| [JSP] 폼(form) 태그 (0) | 2023.07.03 |
| [JSP] 내장 객체 (0) | 2023.06.29 |
| [JSP] 스크립트 태그 (0) | 2023.06.27 |
| [JSP] 디렉티브 태그(Directive Tag) - 지시자 태그 (0) | 2023.06.23 |