[국비학원 기록/JSP] 액션태그(1) - include, forward
my code archive
article thumbnail
반응형
액션 태그

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

반응형
profile

my code archive

@얼레벌레 개발자👩‍💻

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

반응형