JSP/4. 액션 태그
[JSP] 액션 태그 - 자바빈즈 액션 태그
망고고래
2023. 12. 10. 15:13
자바빈즈 액션 태그: 객체 생성
1. 자바빈즈 작성 규칙
- java.io.Serializable 인터페이스 구현(자동으로 됨)
- 기본 생성자 필요(자동으로 됨, 수동 작성 권장)
- 모든 멤버 변수인 프로퍼티는 private 접근 지정자로 설정
- 모든 멤버 변수인 프로퍼티는 getter와 setter가 있어야 함
java에서 모든 클래스를 작성할 때 생성자를 따로 작성하지 않으면 컴파일러가 기본 생성자를 자동으로 만든다. 하지만 기본 생성자를 수동으로 작성하는 습관을 들이는 것이 좋다. 매개변수가 있는 생성자를 작성하면 기본 생성자가 자동으로 생성되지 않는데, 이 경우에 기본 생성자가 없는 것을 깜빡해서 여러 문제가 일어날 수 있기 때문이다.
2. 자바빈즈 사용: useBean 태그
useBean 액션 태그: 자바빈즈를 사용하기 위해 자바 클래스를 선언하고 초기화하는 태그
<jsp:useBean id="자바빈즈 식별 이름" class="자바빈즈 이름" scope="범위"/>
<!--참조변수 객체 위치-->
<jsp:useBean id="classA" class="com.dto.ClassA" scope="page"/>
id: 자바빈즈를 식별하기 위한 이름(참조변수)
class: 패키지 이름을 포함한 자바빈즈 이름
scope: 자바빈즈가 저장되는 영역 설정(객체가 삭제되는 시점)
page | 현재 페이지 내에서만 사용 가능(기본값) |
request | request.getParameter() 사용한 페이지까지만 사용 가능 |
session | 세션을 끝낼 때까지 사라지지 않음 |
application | 서버가 시작되고 나서 끝날 때까지 유지 |
자바빈즈를 사용하면 객체는 모두 싱글턴 방식으로 생성된다.
3. setProperty 액션 태그로 프로퍼티의 값 지정
자바빈즈의 Setter() 메서드에 접근해서 자바빈즈의 멤버 변수인 프로퍼티의 값을 저장한다.
setProperty 액션 태그의 속성
속성 | 설명 |
name | useBean 태그에서 id 속성 값으로 설정된 이름(참조변수) |
property | 자바빈즈의 프로퍼티 이름(변수명). * 사용시 모든 요청 파라미터 지정 |
value | 변경할 자바빈즈의 프로퍼티 값(파라미터) |
param | 프로퍼티 값을 전달하는 요청 파라미터의 이름. param과 value를 동시에 사용할 수 없음 |
사용 형식과 예시
<jsp:setProperty name="자바빈즈 식별이름" property="프로퍼티 이름" value="값"/>
<!--참조변수 변수명 파라미터-->
<jsp:setProperty name="member" property="id" value="admin"/>
<!--참조변수 member에 저장된 객체의 변수 id의 값을 admin으로 설정-->
자바빈즈의 프로퍼티 값 출력 예
<% out.println("아이디: "+member.getId()); %>
<!--참조변수.getter-->
4. getProperty 액션 태그로 프로퍼티 값 가져오기
자바빈즈의 Getter() 메서드에 접근해서 자바빈즈의 멤버 변수인 프로퍼티의 값을 가져오는 태그
getProperty 액션 태그의 속성
속성 | 설명 |
name | useBean 태그에 id 속성 값으로 설정된 자바빈즈를 식별하기 위한 이름 |
property | 자바빈즈의 프로퍼티 이름. * 사용시 모든 요청 파라미터가 Getter() 메서드에 전달 |
getProperty 액션 태그의 형식과 예시
<jsp:getProperty name="자바빈즈 식별이름" property="프로퍼티 이름"/>
<!--참조변수 변수 이름-->
<jsp:getProperty name="member" property="name"/>
자바빈즈 프로퍼티 값 출력 예
<% out.println(member.getname()); %>