ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WEB : JSP] 액션태그 - useBean, setProperty, getProperty
    비전공자 공부일기/:: WEB & Front-End 2019. 7. 10. 13:50

    2019. 07. 10 필기

     

     

     

    자바빈 JavaBean이란?

    : 자바빈, 또는 자바빈즈라고 부르는 이 클래스는 JSP의 표준 액션태그로 접근할 수 있는 클래스로서, 값을 가지는 속성(=멤버변수)과 값을 설정하는 메소드(setter), 값을 추출하는 메소드(getter)로 이루어져 있다. 즉, 입력태그로부터 입력된 값을 전달받아(추출-getter) 필드값으로 저장(설정-setter)하기 위한 클래스이다. 이 자바빈즈는 하나의 JSP 페이지에 종속적으로 사용되는 것이 아니라, 여러 JSP페이지에서 사용될 수 있다. 또한 입력태그의 name 속성값과 클래스의 필드명을 같도록 선언해주어야 한다.

     

    JSP에서 자바빈은 세 가지 표준 액션태그로 수행한다. useBean / setProperty / getProperty 세 가지이다.

     

     

    useBean 액션태그 

    --- 자바빈즈 클래스의 객체를 생성하거나 이미 생성된 객체를 추출하는 기능

    --- scope 속성에 따라 객체를 새로 생성할 것인지 or 이미 생성된 객체를 추출할 것인지 나뉜다

    --- 한 마디로 인스턴스를 생성하여 공유하는 기능

    --- 공유 인스턴스를 반환받아 저장하는 기능

    ----- useBean은 model1에서는 많이 사용하나, model2에서는 거의 사용하지 않는다

     

     

     scope 속성 

    --- page : 하나의 JSP 페이지에서만 사용

    --- request : 요청이 처리되는 동안 forward, include된 페이지 간에 사용

    --- session : 클라이언트 단위로 사용

    --- application : 웹 애플리케이션 단위로 사용

     

    id속성 : 페이지 내에서 자바빈즈 객체를 식별할 수 있는 이름 지정(고유값)

    --- 참조변수명과 공유속성명으로 사용될 속성값 지정

    --- 영문자, 숫자, _문자로 시작해야 하며, 대소문자 구분

     

    class 속성 : 사용하려는 자바빈즈 객체의 실제 클래스명을 패키지명과 함께 지정

    --- 해당 디렉토리에 클래스가 존재하면 -> 가져다 쓰고 / 없으면 -> 만들어 쓴다

     

    type 속성 : 객체에 어떠한 타입으로 접근할 것인지 지정

     

     

    setProperty 액션태그, getProperty 액션태그는 useBean태그의 종속태그이다(하위태그X)

     

     

    setProperty 액션태그

    --- 유즈빈 액션태그로 생성한 자바빈즈 객체의 필드값을 변경

    --- 즉 setter 메소드를 호출하는 표준 액션 태그

    --- 입력페이지에서 전달된 값을 반환받아 Setter 메소드를 호출하여 필드값 변경

    --- 입력태그의 name 속성값과 클래스의 필드명이 같아야만 setProperty 이용 가능 * 형식대로 만들지 않으면 에러

     

    <jsp:setProperty property="name" name="hello" value="Amy" />

     

    - name 속성 : useBean태그의 id속성값을 가져와 name속성값으로 지정

    - property 속성 : 값을 수정하려는 자바빈즈 객체의 멤버변수 이름 지정

    --- property 속성값으로 *을 설정한 경우 ( property ="*" ), 모든 입력값을 반환받아 필드값 변경

    --- => 한꺼번에 가져와서 한꺼번에 바꿔줌 (model2)

     

     

     

    getProperty 액션태그

    --- useBean 태그로 생성된 인스턴스의 필드값을 반환하는 기능 제공

    --- name 속성 : useBean태그의 id속성값을 가져와 name속성값으로 지정

    --- property 속성 : 인스턴스의 필드명을 속성값으로 설정

     

     

    --------------------------

    다음날 쌤의 요약))

     

    ...더보기

    jsp문서에서 객체를 만들어서 쓰거나, 만들어진 애를(공유된 애를) 가져다 쓰는 형태로 인스턴스를 제공하는 게 useBean 액션태그이다. 이 인스턴스는 session이나 request를 이용해서 쓴다.

    request를 사용해 인스턴스를 반환받아 저장할 때,
    (객체가)공유된 걸 가져다쓸 땐 getAttribute >> 형변환을 시켜 가져와야 한다.
    전달된 걸 가져다쓸 땐 getParameter >>

     

    useBean을 사용하면 전달된 값을 객체로 만들어준다. useBean 태그로 만들어 공유된 객체의 필드값을 변경한다. 어떤값으로?? 입력되어 전달된 값으로. 그러기 위해서는 class가 자바빈이어야 한다. 웹에서 입력받은 값을 저장할 목적으로 만들어진 클래스가 자바빈이다. 자바빈에는 규칙이 있다. 값을 저장하는 필드와 세터, 게터가 필요하고, setProperty, getProperty의 name속성이 useBean의 id속성과 일치해야 한다. useBean을 이용하면 자동으로 인스턴스를 만들어주고 공유해준다.

    댓글

coding wanee