반응형
액션 태그
1. 액션 태그 등장 배경
1)HTML 태그에 자바 코드를 같이 써야 하는 상황이 생기며 화면이 복잡해짐.
2)유지 보수 어려움 => 스크립틀릿의 자바 코드를 대체하는 액션 태그 등장
2. JSP의 액션 태그 종류
1) include ActionTag
<jsp:include>
2)forward ActionTag
<jsp:forward>
3)useBean ActionTag
<jsp:useBean>
객체 생성하기 위한 new 연산자를 대신하는 태그
4)setProperty ActionTag
<jsp:setProperty>
setter 대신하는 태그
5)getProperty ActionTag
<jsp:getProperty>
getter 대신하는 태그
6)param ActionTag
<jsp:param>
3.include ActionTag
<jsp:include page="포함할 JSP 페이지 명" flush="지정된 JSP를 실행되기 전 출력 버퍼 비움 여부 지정">
</jsp:include>
flush = "true", "false" (일반적으로 false로 지정함.)
1)인클루드 Directive Tag처럼 화면을 분할해서 관리할 때 사용하는 태그
2)재사용성 및 유지 보수 높일 수 있음.
3)기능 - JSP 레이아웃 모듈화
처리 - 요청 시간에 처리
데이터 처리 방법 - param 액션 태그 이용해 동적 처리 가능
포함된 JSP 자바 파일 변환 - 포함되는 JSP가 각각 자바 파일로 생성
4.forward ActionTag
<jsp:forward page="포워딩할 JSP 페이지"> .... </jsp:forward>
1)RequestDispatcher 클래스를 대신하여 포워딩 방법 제공
2)포워딩 시 값을 전달할 수 있음.
forward ActionTag 예제
login.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Insert title here</title>
</head>
<body>
<h1>아이디를 입력해 주세요.</h1>
<form action="result.jsp" method="post">
아이디 : <input type="text" name="userId"><br>
비밀번호 : <input type="password" name="userPw"><br>
<input type="submit" value="로그인하기">
<input type="reset" value="다시 입력">
</form>
</body>
</html>
|
cs |
result.jsp
아이디를 입력하지 않았을 때 포워딩 통해 로그인 창으로 이동
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
%>
<%-- ID 입력하지 않은 경우 자바의 RequestDispatcher를 사용하지 않고 포워드 액션태그를 이용해 다시 로그인창으로 이동함 --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>결과</title>
</head>
<body>
<%
String userId = request.getParameter("userId");
if(userId.length()==0){
/* RequestDispatcher dispatcher = request.getRequestDispatcher("login.jsp");
dispatcher.forward(request, response); */
%>
<jsp:forward page="login.jsp"></jsp:forward> <%--ID 입력하지 않았다면 로그인창으로 포현됨 --%>
<%
}
%>
<h1>환영합니다. <%=userId %>님!</h1>
</body>
</html>
|
cs |
반응형
'📒 education archive > 📍Servlet, JSP' 카테고리의 다른 글
[국비학원 기록/JSP] 표현 언어 EL, 연산자, 내장 객체, 자바 빈(Bean), ArrayList, HashMap 예제 (0) | 2021.12.14 |
---|---|
[국비학원 기록/JSP] 액션태그(2)-useBean, setProperty, getProperty, 회원 가입 구현 (0) | 2021.12.10 |
[국비학원 기록/JSP] 세션(Session), 데이터베이스(DB) 연동 로그인 구현 (0) | 2021.12.09 |
[국비학원 기록/JSP] 쿠키(Cookie), 팝업창, 로그인 아이디 저장 구현하기 (0) | 2021.12.08 |
[국비학원 기록/JSP] 내장 객체, page, request, 세션(session), 애플리케이션(application) 영역 (0) | 2021.12.07 |