목차
1. 액션 태그(Action Tag): forward
2. 액션 태그(Action Tag): include
3. 액션 태그(Action Tag): useBean, setProperty, getProperty
1. 액션 태그(Action Tag): forward
1) 액션 태그의 개념
- JSP에서 액션 태그(Action Tag)는 스크립트, 주석, 디렉티브와 함께 JSP 페이지를 이루고 있는 요소이다. 액션 태그는 페이지와 페이지 사이의 제어를 이동시킬 수도 있고, 다른 페이지의 실행결과를 현재의 페이지에 포함시킬 수 있으며, 자바빈도 JSP 페이지에서 사용할 수 있는 기능을 제공한다. 또한 웹 브라우저에서 자바 애플릿을 실행시킬 수 있도록 지원하는 기능도 있다.
2) 액션 태그의 종류
<jsp:forward> : 페이지의 흐름을 제어할 때 사용
<jsp:include> : 페이지를 모듈화할 때 사용
<jsp:useBean> : 자바빈을 사용할 때 사용
<jsp:setProperty> : 자바빈의 속성값을 저장할 때 사용
<jsp:getProperty> : 자바빈의 속성값을 읽어올 때 사용
<jsp:plug-in> : 애플릿을 사용할 때 사용(현재는 사용되지 않는 태그)
3) <jsp:forward> 액션 태그
- 하나의 JSP 페이지에서 다른 JSP 페이지로 이동할 때 사용하는 태그
- <jsp:forward> 액션 태그를 사용하면 각 조건을 처리하는 jsp를 분리하여 기능별로 모듈화 하는 것이 가능
- forward 액션 태그에 의해 연결된 페이지들은 동일한 request 객체를 공유
- <jsp:param> 태그를 이용해서 request 영역에 값을 담아 전달하는 것이 가능
• 형식
① <jsp : forward page = “ 이동할 페이지명“ / >
② <jsp : forward page = “ 이동할 페이지명 “> </jsp : forward>
③ <jsp : forward page = “ 이동할 페이지명 “>
<jsp : param name = "paramName1" value = " var1 " />
<jsp : param name = "paramName2" value = " var2 " />
</jsp : forward>
* <jsp:forward> 태그로 이동할 때만 request 객체 사용 가능
response 객체 등을 이용한 이동에서는 X
* 따옴표 안에 특수 문자(ex. 따옴표) 중복 사용하는 방법
- 따옴표 안의 특수문자 앞에 역슬래시(\) 넣기
- ex) out.println("\"jsp 연습 \"");
→ 출력 결과: “jsp 연습”
2. 액션 태그(Action Tag): include
1) <jsp:include> 액션 태그
- JSP 페이지 내에 다른 페이지를 삽입하는 액션 태그
- include 디렉티브 태그(<%@ include file="totoro.jsp" %>)처럼 다른 페이지를 포함시킬 수 있는 기능을 가짐
- include 디렉티브는 단순하게 특정 소스의 내용이 텍스트로 포함이 되지만, <jsp:include> 액션 태그는 페이지의 처리 결과를 포함시킨다는 점이 다르다. 이때 포함되는 페이지는 html, jsp, Servlet 등 모두 가능하다.
- 또한, include 디렉티브 태그는 주로 조각 코드를 사용할 때 사용되고, <jsp:include> 액션 태그는 페이지를 모듈화할 때 사용된다. 즉, 템플릿 페이지를 작성할 때 사용된다.
- include 액션 태그는 <param> 태그로 값 전달이 가능하다.
- include 디렉티브 태그는 servlet 파일이 1개 생성된다. (불러오는 파일 + 불려지는 파일)
- include 액션 태그는 servlet 파일이 2개로 각각 생성된다. (불러오는 파일, 불려지는 파일)
• 형식
① <jsp : include page = " 포함될 페이지명 “ flush = "true | false" / >
② <jsp : include page = " 포함될 페이지명 “ flush = "true | false"> </jsp : include>
③ <jsp : include page= " 포함될 페이지명 “ flush = "true | false">
<jsp : param name = "paramName1" value = " var1 " />
<jsp : param name = "paramName2" value = " var2 " />
</jsp : include>
cf.
• flush 속성 : 포함될 페이지로 이동할 때 현재 페이지가 지금까지 출력 버퍼에 저장된 결과를 어떻게 처리할 것인가를 결정하는 것으로, 'true'로 지정하면 포함할 페이지의 내용을 삽입하기 이전에 현재 페이지가 지금까지 버퍼에 저장한 내용을 출력하게 된다. flush 속성의 값을 'false'로 지정하는 것이 일반적이다.
3. 액션 태그(Action Tag): useBean, setProperty, getProperty
1) 자바빈 (JavaBean)
- 자바빈은 자바로 작성된 컴포넌트를 의미한다.
<jsp:useBean> : 자바빈을 사용할 때 사용
<jsp:setProperty> : 자바빈의 속성값을 저장할 때 사용
<jsp:getProperty> : 자바빈의 속성값을 읽어올 때 사용
• 자바빈 파일 작성법
package 패키지명;
import 패키지명;
클래스명{
프로퍼티(property);
setXxx() 메소드{
}
getXxx() 메소드{
}
}
cf.
1. 자바빈에서 멤버변수를 ‘property’라고 부른다.
2. 프로퍼티(property)는 값을 저장하기 위한 필드로 접근 제어자를 private로 선언해서 작성한다.
3. 프로퍼티는 JSP 페이지의 내용을 DB에 저장하거나 DB에 저장된 내용을 JSP 페이지에 출력할 때 중간 데이터 저장소로 사용된다.
4. 프로퍼티에 값을 저장할 때 setXxx() 메소드를 사용하고, 저장된 값을 사용할 때는 getXxx() 메소드를 사용한다. 이때 Xxx는 프로퍼티명으로, 첫 글자를 대문자로 작성한다.
5. 하나의 프로퍼티당 한 쌍의 setXxx() 메소드와 getXxx() 메소드가 존재한다.
6. setXxx() 메소드와 getXxx() 메소드에서는 주로 public 접근 제어자를 사용한다.
7. 자바빈 파일의 저장 위치는 WEB-INF/classes 폴더에 위치해야 한다.
• 자바빈 관련 액션 태그
자바빈 관련 액션 태그 | 내용 |
<jsp:useBean id=" " class=" " scope=" " /> | 자바빈 객체를 생성 |
<jsp:setProperty name=" " property=" " value=" "/> | 생성된 자바빈 객체에 프로퍼티 값을 저장 |
<jsp:getProperty name=" " property=" " /> | 생성된 자바빈 객체에서 저장된 프로퍼티 값을 가져옴 |
'JSP' 카테고리의 다른 글
57일차: JSP와 오라클 연동(DTO,DAO) / 커넥션 풀_ 2021.09.02 (0) | 2021.09.02 |
---|---|
56일차: JSP와 오라클 연동_ 2021.09.01 (0) | 2021.09.01 |
55일차: JSP 자바빈(useBean, setProperty, getProperty) 2021.08.31 (0) | 2021.08.31 |
53일차: Session / 영역과 속성 / 에러 처리 / 액션 태그 2021.08.27 (0) | 2021.08.27 |
51일차: JSP 태그 / 주석 처리 / request 객체 2021.08.25 (0) | 2021.08.25 |