앎/web

[JSP] 액션 (JSP Actions) - useBean, setProperty, getProperty

후니아부지 2014. 3. 17. 18:12

JSP 규약은 JSP 페이지에서 빈번히 사용되는 자바빈 객체를 위한 액션 태그를 제공한다.

이 액션 태그를 사용하여 자바빈 객체을 생성하거나, 자바빈의 프로퍼티를 출력하거나 값을 변경할 수 있다.

 

JSP가 기본적으로 제공하는 표준 태그사용자 태그로 나뉜다.

형식은 다음과 같다.

<접두어:태그이름 속성="값" 속성="값" .... />


표준 태그jsp라는 접두어를 사용한다.

<jsp:태그이름 속성="값" 속성="값" .... />


JSP Action : useBean

자바 클래스의 객체를 생성해서 JSP 내의 원하는 데이터 저장 영역에 배치되게 해주는 액션이다.

    <jsp:useBean id="..." class="..." scope="...">
    ....
    </jsp:useBean>

 속성 

 설명 

 id

 생성하려는 객체의 이름

 class

 자바 클래스 (패키지명을 포함)

 scope

 객체의 유효 범위. (page, request, session, application). 기본 값은 page.

이는 자바에서 객체를 생성하는 방법과 동일하다.

클래스 인스턴스명 = new 클래스();

 

JSP Action : setProperty / getProperty

객체에 property 를 Get 또는 Set 하기 위해 사용한다. (Getter / Setter 라고 보면 된다.)

<jsp:setProperty name="..." property="..." value="..." />

 속성

 설명

 name

 객체 이름

 property

 property 이름

 value

 property에 저장할 값


<jsp:setProperty name="..." property="..." param="..." />

 속성

 설명

 param

 넘어오는 객체의 parameter 이름


<jsp:setProperty name="..." property="..." />

※ 저장할 property와 가져올 param이 같다면 property 만 쓴다.

 

<jsp:setProperty name="..." property="*" />

property의 값을 * 로 설정하면 폼에서 넘어오는 모든 parameter를 각각 property로 저장한다.
이는 넘어오는 parameter의 이름과 개수가 해당 객체의 property의 이름과 개수가 같아야한다.

 

<jsp:getProperty name="..." property="..." />

name 객체의 property 값을 가져온다.


예제) 입력 폼에서 넘어온 데이터를 DTO 객체에 담아 뷰 페이지로 전달한다. 일반적인 방법과 액션을 사용한 방법 모두 확인 해본다.

 

inputPage.htm

입력한 데이터를 처리하는 jsp 파일을 두 가지 방법으로 테스트 해본다.


 

 

DataDTO.java

String 타입의 데이터를 3개 관리할 수 있는 DTO 클래스를 생성한다.


 

 

inputProcess.jsp

넘어온 데이터를 DTO 객체에 담아 세션에 넣고 뷰 페이지로 이동한다.


 

 

viewPage.jsp

 

 

위 파일 중 JSP 파일을 JSP 액션을 사용하도록 수정해보자.

inputProcess_useBean.jsp



 

viewPage_useBean.jsp

 

 

동일한 기능을 하면서도 더 간략해진 코드를 볼 수 있다.

inputProcess 비교

 

viewPage 비교