[JSP] 액션 태그 - 포워드 액션 태그

Bam·2024년 5월 23일
0

Spring

목록 보기
36/48
post-thumbnail

포워드는 한 서블릿(JSP)에서 다른 서블릿이나 JSP로 데이터를 전달하는 기술을 의미했습니다. 그리고 서블릿에서 포워드 방식으로 RequestDispatcher.forward()를 사용하는 방식이 일반적이라고 이야기했었습니다.

JSP에서는 포워드 액션 태그를 사용하면 자바코드 없이 포워드를 구현할 수 있습니다.


포워드 액션 태그

포워드 액션 태그는 다음과 같이 사용합니다.

<jsp:forward page="포워드할 페이지"> </jsp:forward>

먼저 데이터를 입력해서 전송할 폼인 inputForm.jsp를 작성합니다.

<%@ page
        contentType="text/html;charset=UTF-8"
        language="java"
        pageEncoding="UTF-8"
%>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="output.jsp" method="post">
    <input type="text" name="data">
    <input type="submit" value="제출">
</form>
</body>
</html>

그리고 위 폼으로부터 입력받은 데이터를 전달받아(포워드) 출력할 output.jsp도 작성합니다.

<%@ page
        contentType="text/html;charset=UTF-8"
        language="java"
        pageEncoding="UTF-8"
%>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    String data = request.getParameter("data");

    if (data.isEmpty()) {
%>
<jsp:forward page="inputForm.jsp" />
<!-- 만약, 빈 form이 전달되면 다시 input 페이지로 포워드 -->
<%
    }
%>
<h2>input으로 부터 전달받은 데이터: <%= data%></h2>
</body>
</html>

만약 폼에 아무런 데이터를 입력하지 않고 제출을 하면 다시 inpurForm.jsp로 포워드 됩니다.
데이터를 전달하면 정상적으로 output이 출력이 됩니다.

0개의 댓글