JSP공부
JSP 액션 태그
NaZZU
2024. 10. 3. 18:38
include 디렉티브
지정한 페이지를 현재 위치에 포함시킴
처리 방식
액션 태그
- 서버나 클라이언트에게 어떤 행동을 하도록 명령하는 태그
- JSP 페이지에서 페이지와 페이지 사이를 제어
- 다른 페이지의 실행 결과 네영을 편제 페이지에 포함
- 자바 빈즈(JavaBeans) 등의 다양한 기능을 제공
- XML 형식 <jsp : ... />을 사용
액션 태그 | 형식 | 설명 |
forward | <jsp:forward --- /> | 다른 페이지로의 이동과 같은 페이지 흐름을 제어 |
include | <jsp:include --- /> | 외부 페이지의 내용을 포함하거나 페이지를 모듈화 |
useBean | <jsp:useBean --- /> | JSP 페이지에 자바빈즈를 설정합니다 |
setProperty | <jsp:setProperty --- /> | 자바빈즈의 프로퍼티 값을 설정합니다 |
getProperty | <jsp:getProperty --- /> | 자바빈즈의 프로퍼티 값을 얻어옵니다 |
param | <jsp:param --- /> | <jsp:forward>, <jsp:include>. <jsp:plugin> 태그에 인자를 추가 |
plugin | <jsp:plugin --- /> | 웹 브라우저에 자바 애플릿을 실행. 자바 플러그인에 대한 OBJECT 또는 EMBED 태그를 만드는 브라우저별 코드 생성 |
element | <jsp:element ---/> | 동적 XML 요소를 설정합니다 |
<jsp:include> 액션 태그
지정한 문서를 태그의 위치에 포함시킴
처리 방식
<jsp:include> 액션 태그와 include 디렉티브의 차이
비교 항목 | 액션 태그 | 디렉티브 |
처리시간 | 요청 시간에 처리 | JSP 파일을 자바 소스로 변환할 때 처리 |
기능 | 별도의 파일로 요청 처리 흐름을 이동 | 현재 파일에 삽입시킴 |
데이터 전달 방법 | request 기본 객체나 <jsp:param>을 이용한 파라미터 전달 | 페이지 내의 변수를 선언할 후, 변수에 값 저장 |
용도 | 화면의 레이아웃의 일부분을 모듈화할 때 사용 | 다수의 JSP 페이지에서 공통으로 사용되는 변수를 지정하는 코드나 저작권과 같은 문장을 포함한다 |
<jsp:include> 액션 태그와 모듈화
- 일반적인 웹 사이트는 상단메뉴, 좌측메뉴, 중앙내용, 하단 메뉴 등의 요소로 구성
- 상단, 하단 메뉴 - 모든 페이지에서 동일
- 좌측 메뉴, 중앙 내용 - 페이지에 따라 달라진다
예제
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- layout.jsp -->
<table border = "1" cellpadding = "0" cellspacing="0" width="400">
<tr>
<td colspan="2">
<jsp:include page="top.jsp"/>
</td>
</tr>
<tr>
<td width="100" valign="top">
<jsp:include page="left.jsp"/>
</td>
<td wdith="300" valign="top">
<jsp:include page="right.jsp"/>
</td>
</tr>
<tr>
<td colspan="2">
<jsp:include page="bottom.jsp"/>
</td>
</tr>
</table>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- layout.jsp -->
<table border = "1" cellpadding = "0" cellspacing="0" width="400">
<tr>
<td colspan="2">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- top.jsp -->
상단 메뉴 : <a href="">HOME</a> <a href="">INFO</a>
</body>
</html>
</td>
</tr>
<tr>
<td width="100" valign="top">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- left.jsp -->
좌측 메뉴
<br>
<ul>
<li>sub1</li>
<li>sub2</li>
<li>sub3</li>
</ul>
</body>
</html>
</td>
<td wdith="300" valign="top">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- right.jsp -->
레이아웃 1
<br><br>
<table width="100%" border="1" cellpadding="10" cellspacing="10">
<tr>
<td>
모델번호
</td>
<td>
MQ7E2KHA
</td>
</tr>
<tr>
<td>
가격
</td>
<td>
1,000,000원
</td>
</tr>
</table>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- rightSub.jsp -->
<table width="100%" border="1" cellpadding="10" cellspacing="10">
<tr>
<td>타입</td><td>iPhone</td>
</tr>
<tr>
<td>특징</td>
<td>
수려한 디자인
</td>
</tr>
</table>
</body>
</html>
</body>
</html>
</td>
</tr>
<tr>
<td colspan="2">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- bottom.jsp -->
하단 메뉴 : 소개 | 도움말 | 약관 | 사이트맵
</body>
</html>
</td>
</tr>
</table>
</body>
</html>
<jsp:forward> 액션 태그
하나의 JSP 페이지에서 다른 JSP 페이지로 요청 처리를 전달 할 때 사용
예제
from.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- from.jsp -->
이 페이지는 from.jsp가 생성한 것입니다.
<jsp:forward page="to.jsp"/>
</body>
</html>
to.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- to.jsp -->
이 페이지는 to.jsp가 생성한 것 입니다.
</body>
</html>
결과
<jsp:forward> 액션 태그와 출력 버퍼