JSP 액션태그
- jsp에서 사용하는 태그
- JSP 페이지 내에서 어떤 동작을 하도록 지시하는 태그, 예를 들어 페이지 이동, 페이지 include, 자바 빈 생성 등이 있습니다.
- XML 형식인 <jsp: …… /> 를 사용하며 반드시 닫아 줘야함
1. forward 액션태그
- 현재 위치한 jsp 웹페이지에서 다른 웹페이지로 이동할 때 사용
<jsp:forward page="파일명"/>
- jsp 액션 forward 태그는 리다이렉트 될 때 리다이렉트 되는 파일이 노출이 안됨.
만약 red.jsp에서 yellow.jsp 로 리다이렉트 시켰다면 URL에 표시될 때 red.jsp만 표시됨
response.sendRedirect("yellow.jsp")
- 이것도 리다이렉트 하는 자바 코드이지만 해당의 경우 yellow.jsp가 노출이 됨.
2. include 액션태그
- 특정 영역에 외부파일의 내용을 포함할 때 사용
<jsp:incluse page="파일명">
- 문서의 실행 결과를 포함 시킴
- 해당 파일명의 .java / .class 파일이 별도로 생성됨
- 즉 파일명.java / 파일명.class 가 생성되어 실행 됨
<%@ include file="파일명" %>
- 문서의 내용을 포함 시킴
액션태그 include <jsp:include>
- 문서의 실행결과를 포함시키는 것
- 포함되는 문서의 별도의 서블릿이 생성
- 포함되는 문서의 내용이 완전해야함
main02.jsp안에는 단순 실행 결과만 포함되어 있음
age02.jsp의 .class파일과 .java파일이 각각 생성되었음
지시자 include ( <%@ )
- 문서의 내용을 포함
- 포함되는 문서의 별도의 서블릿이 생성되지 않음
- 포함되는 문서의 내용이 완전하지 않아도 됩니다.
.jsp 를 요청하면 내가 요청한 jsp의 .java 가 생성되고 .class 가 생성된 후 jsp가 실행 됨
main01.jsp에서 age01.jsp를 호출
age01.jsp에서 선언된 값 (age =20)
main01.jsp가 실행되면 .main01.java가 생성되고
'main01.java'에 'age01.jsp'의 내용('age=20') 이 추가되어 있음
3. 액션태그 Param
- 다른 웹페이지로 파라미터를 전달할 때 사용
- 당연히 forward나 include 내부에서 선언하여 사용
<jsp:param value="전달할 값" />
자바 빈즈(Java Beans)
- 자바코드와 HTML 코드가 뒤섞여있어 유지보수의 어려움이 있다. 그래서 '자바 소스코드'를 '자바 클래스'로 따로 빼두어 JSP가 복잡해지는 것을 방지할 수 있음.
- 이때, 웹 어플리케이션에서 사용하는 객체들을 '자바 빈즈(beans)'라고 표현
4. useBean 액션태그
- 자바빈즈를 JSP 웹페에지에서 사용하기 위해 java클래스를 선언하고 초기화하는 태그
- 스크립틀릿을 안쓰고 'useBean'액션 태그 안에서 객체를 생성하여 사용할 수 있음
<jsp:useBean id="변수명" class="클래스명" type="타입명" scope="page | request | session | application" />
scope 설명
: page - 현재 문서에서만 해당 객체를 사용 (기본 값)
: request - 링크가 걸려있는 다음 문서에서도 사용
: session - 세션 파기 전까지 유지 (= 브라우저 닫기 전까지)
: application - 서버 종료 전까지 유지
아래 두 코드는 같은 코드 (useBean VS 스크립틀릿)
// useBean 액션태그 안에서 선언
<jsp:useBean id="nowTime" class="java.util.Date" />
// 스크립틀립 안에서 선언
<%
Date nowTime = new Date();
%>
5. useBean 액션태그에서 SETTER / GETTER 설정
- setProperty / getProperty
<jsp:setProperty property="실제 속성 명" value="값" name="객체id"/>
<jsp:setProperty property="실제 속성 명" value="*" name="객체id"/>
( * 을 사용하기 위해선 객체VO의 변수명과 입력 받을 tag의 name이 동일 해야한다)
<jsp:getProperty property="실제 속성 명" name="객체id"/>
<jsp:useBean id="m" class="com.sist.vo.MemberVO"></jsp:useBean>
<jsp:setProperty property="id" value="tiger" name="m"/>
<jsp:setProperty property="pwd" value="1234" name="m"/>
<jsp:setProperty property="name" value="name" name="m"/>
아이디 : <jsp:getProperty property="id" name="m"/>
비밀번호 : <jsp:getProperty property="pwd" name="m"/>
이름 : <jsp:getProperty property="name" name="m"/>
반응형
'개발 > JSP' 카테고리의 다른 글
(JSP) JSTL(JavaServer Pages Standard Tag Library) (0) | 2022.05.24 |
---|---|
(JSP) MVC 패턴 (0) | 2022.05.23 |
(JSP) JSP에서 세션(Session), 쿠키(Cookie) 사용법 (0) | 2022.05.22 |
(JSP) href로 파라미터 전달하기 (0) | 2022.05.21 |
(JSP) ResultSet (0) | 2022.05.19 |
댓글