[JSP] 10. JSP에서 자바빈 활용하기

2022. 4. 12. 11:52JAVA/Servlet&JSP

1. 자바빈(JavaBean)

  • 자바빈은 데이터를 표현하는 것을 목적으로 하는 자바 클래스
public class BeanClassName
{
    private String value;
    
    public BeanClassName(){
    }
    
    public String getValue(){
    	return value;
    }
    public void setValue(String value){
    	this.value = value;
    }
}

 

1.1 자바빈 프로퍼티

  • 프로퍼티는 자바빈에 저장되어 있는 값을 나타냄
  • 클래스의 필드멤버는 getter/setter 메서드를 통하여 접근
public class BeanClassName
{
    private String value;
    
    ...
    
    // getter 메서드
    public String getValue(){
    	return value;
    }
    // setter 메서드
    public void setValue(String value){
    	this.value = value;
    }
}

 

2. 자바빈 객체와 <jsp:useBean> 액션 태그의 조화

  • JSP 규악은 JSP 페이지에서 빈번히 사용되는 자바빈 객체를 위한 액션 태그를 별도로 제공하고 있음
  • <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>

2.1 <jsp:useBean> 액션 태그를 사용하여 자바빈 생성

<jsp:useBean id="[빈이름]" class="[자바빈 클래스 이름]" scope="[범위]"/>
  • id : JSP 페이지에서 자바빈 객체에 접근할때 사용하는 이름
  • class : 패키지 이름을 포함한 자바빈 클래스의 완전한 이름
  • scope : page, request, session, application 중 하나를 값으로 갖음, 자바빈 객체가 저장될 영역
<jsp:useBean id="member" scope="request" class="Chapter10.madvirus.member.MemberInfo"></jsp:useBean>

2.2 <jsp:getProperty> 액션 태그와 <jsp:setProperty> 액션 태그

  • <jsp:getProperty> : 자바빈 객체의 프로퍼티 값을 가져옴
  • <jsp:setProperty> : 자바빈 객체의 프로퍼티 값을 수정함

 

<jsp:setProperty> 액션 태그 문법

<jsp:setProperty name="[자바빈]" property="이름" value="[값]"/>
  • name : 프로퍼티의 값을 저장할 객체의 이름, <jsp:useBean> 액션 태그의 id 속성에서 지정한 값을 사용함
  • property : 값을 저장할 프로퍼티 이름
  • value : 프로퍼티의 값, 표현식 사용 가능함

<jsp:setProperty> value 속성 사용

<jsp:useBean id="memberInfo" scope="request"
	class="Chapter10.madvirus.member.MemberInfo"></jsp:useBean>
<jsp:setProperty property="name" name="memberInfo"
	value="김용환" />

 

<jsp:setProperty> param 속성 사용

<jsp:setProperty name="member" property="id" param="memberid"/>
  • param 속성은 파라미터의 값을 프로퍼티의 값으로 지정할때 사용함
  • "memberid"의 값을 id 프로퍼티의 값으로 설정함
<jsp:setProperty name="member" param="*"/>
  • param 속성의 값을 "*"으로 설정하면 member 자바빈 객체의 프로퍼티들의 값을 각각 같은 이름을 갖는 파라미터의 값으로 설정합니다.

 

<jsp:getProperty> 액션 태그 문법

<jsp:getProperty name="자바빈 이름" property="프로퍼티 이름"/>
  • name : <jsp:useBean>의 id속성에서 지정한 자바빈 객체의 이름
  • property : 출력할 프로퍼티의 이름
<jsp:property name="member" property="name"/>
  • member 자바빈 객체의 name 프로퍼티의 값을 가져옴

 

References

source code : https://github.com/yonghwankim-dev/JSP2.0/tree/master/jsp2/src/main/webapp/Chapter10
JSP 2.0 프로그래밍 기초부터 중급까지