Development/JSP
액션 태그
우봉수
2023. 4. 19. 20:57
- 서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그
- JSP 페이지에서 페이지와 페이지 사이를 제어
- 다른 페이지의 실행 결과 내용을 현재 페이지에 포함
- xml 형식
forward
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h3>이 파일은 First 페이지 입니다.</h3>
<jsp:forward page="action_forward_second.jsp"/>
</body>
</html>
이동할 페이지 외부 파일명
<jsp:forward page="action_second.jsp"></jsp:forward>
- JSP 컨테이너는 현재 JSP 페이지에서 forward 액션 태그 만난다면 해당 jsp로 이동시킴
- 자동으로 action_second.jsp 페이지로 이동 됨
include
포함 할 페이지 외부 파일명
<jsp:include page="action_second.jsp" flush=“false”></jsp:include>
- 디렉티브 태그의 include 처럼 현재 JSP 페이지의 특정 영역에 외부 파일의 내용을 포함하는 태그
- 디렉티브 태그의 include와의 차이점은 데이터를 저장할 수 있다는 것
- 해당 페이지 안에 action_second.jsp 페이지가 추가 됨
- flush는 현재 페이지의 출력 버퍼 안에 남아있는 데이터를 먼저 비울지(true) 안비울지(false)를 정하는 속성
- 그 후에 include page의 지정된 파일이 출력 버퍼에 들어가게 된다.
액션 태그 include와 디렉티브 태그 include의 차이점
- 액션 태그의 include: 동적인 포함을 지원
- jsp의 런타임 도중 동적으로 포함된다.
- 이는 포함된 JSP 파일이 실행될 때까지 현재 JSP 파일의 실행이 일시 중지됨을 말하며
- JSP 파일이 비교적 작거나, 현재 JSP 파일의 실행이 일시 중지되는 것이 문제가 되지 않는 경우에만 사용해야 한다.
- 디렉티브 태그의 include: 정적인 포함을 지원
- 컴파일 시 정적으로 포함된다.
- 따라서 포함된 JSP 파일이 컴파일된 후에는 현재 JSP 파일과 하나의 파일로 처리된다.
- 이는 포함된 JSP 파일이 크거나, 런타임 시의 부하를 최소화해야 하는 경우에 사용해야 한다.
param
<jsp:forward page=“파일명” >
<jsp:param name=“매개변수명1” value=“매개변수값1” />
[ <jsp:param name=“매개변수명2” value=“매개변수값2” /> … ]
</jsp:forward
- 현재 JSP 페이지에서 다른 페이지에 정보를 전달하는 태그
- 단독으론 사용되지 않으며 다른 태그 안에서 사용
- 데이터 형식은 Map과 같이 key 값과 value 값을 사용하여 request 객체에 파라미터로 추가한다.