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()); %>