DAY36 - 액션태그

은나현·2023년 3월 17일
0

📌 1. 액션 태그

  • 페이지와 페이지 사이의 제어, 다른 페이지의 실행 결과 가져오기, 자바 빈즈(객체) 사용 등의 다양한 기능을 제공한다.
    • jsp 페이지에서는 동일한 내용이라도 자바 코드를 기술하기보다 태그를 사용하는 것이 가독성을 높이고 코드 양을 대폭 줄일 수 있다.

📍 1-1. 액션 태그 작성법

  • 액션 태그는 XML 문법을 따른다. 즉, 시작 태그와 함께 반드시 종료 태그를 포함해야 한다.
  • 액션 태그 기본 형식 : <jsp:... 속성: 값> 내용 </jsp:...>
    • 내용이 없는 태그 : <jsp:... 속성: 값 />

📍 1-2. 액션 태그의 종류

  • forward(<jsp:forward />)
    : 다른 페이지로의 이동, 페이지 흐름 제어
  • include(<jsp:include />)
    : 외부 페이지의 내용을 포함하거나 페이지 모듈화
  • param(<jsp:param />)
    : 현재 페이지에서 다른 페이지에 대한 정보를 전달할 때 사용
  • useBean(<jsp:useBean />)
    : 빈(bean)을 생성하고 사용하기 위한 환경을 정의하는 액션태그
  • setProperty(<jsp:setProperty />)
    : 빈에서 속성값을 할당
  • getProperty(<jsp:getProperty />)
    : 빈에서 속성값을 얻어 올 때 사용

➕ redirect vs forward


  • forward : responserequest가 유지된다.
    • 이동된 url이 화면에 표시되지 않으므로 사용자는 이동 여부를 알 수 없다.
    • forward 방법
      : 메서드 방식 pageContext.forward("이동할 페이지");
      : 액션태그 방식 <jsp:forward page="이동할 페이지" />
  • redirect : 클라이언트가 새로 페이지를 요청한 것과 같은 방식으로 페이지가 이동되므로 requestresponse가 유지되지 않고 새로 생성된다.
    • 이동된 url이 화면에 표시된다.
    • redirect 방법
      : response.sendRedirect("이동할 페이지");

📍 1-3. 액션 태그 사용 예제

  • param_test.jsp
<body>
	<jsp:forward page="param_result.jsp">
		<jsp:param value="apple" name="userid" />
		<jsp:param value="김사과" name="username" />
	</jsp:forward>
</body>
  • param_result.jsp
<body>
	아이디 : <%= request.getParameter("userid") %><br/>
	<%= request.getParameter("username") %>님 어서 오세요
</body>
  • param_test에 접속하면 곧바로 forward 태그가 작동하여 resquest값을 가지고 param_result로 이동해 화면에 useridusername을 표시한다. 그러나 url은 변함없이 param_test로 표시된다.

0개의 댓글