15주차 - jsp(10) action Tag - 1

2022. 10. 14. 20:21jsp/jsp

이번의 목표

01. jsp 의 Action Tag에 대해 알아보자


01. jsp의 Action Tag에 대해 알아보자

Action Tag에는 아래의 종류가 있습니다.

이중에서도 이번에는 <jsp:useBean>, <jsp:setProperty>, <jsp:getProperty>를 알아보겠습니다.

 

<jsp:useBean>에서 빈(Bean)을 생성한다는 말이 다소 생소할 수 있습니다. 보다 쉽게 이해하기 위해서는 인스턴스를 생성한다 생각하면 쉽습니다.

<jsp:useBean>의 사용 예시는 아래와 같습니다.

<jsp:useBean id="변수" class="패키지.클래스"/>

 

<jsp:setProperty>와 <jsp:getProperty>는 기존에 배우고 사용했던 setter/getter의 역할을 수행합니다.

사용 방법은 둘이 유사하며 예시는 아래와 같습니다.

 

<jsp:setProperty poperty="name" name="변수"/>
<jsp:getProperty property="name" name="변수"/>

 

앞서 만든 <jsp:useBean>을 기준으로 설명하자면

이때에 property는 이전 페이지에서 전달해준 form에서 name 값을 입력하여 그 value를 받아옵니다.

name="변수" 에서 사용되는 변수란 위에서 <jsp:useBean>을 이용하여 만든 빈의 이름을 뜻합니다.

 

기존에 사용해 왔던 코드와 비교를 하면

<jsp:setProperty property="name" name="변수"/>
변수.setData(request.getParameter("name"))

 

<jsp:getProperty property="name" name="변수"/>
변수.getData();

 

이렇게 각각 짝지어서 비교할 수 있습니다.

 

01. 데이터 전송 페이지 코드
02. 데이터 출력 페이지 코드
03. 사용된 클래스 코드
04. 실행 화면

 

01. 코드

<h3>자바 빈즈</h3>
	<form action="beans_ex01.jsp">
		전송할 데이터 : <input type="text" name="data"><br>
		<input type="submit" value="전송">
	</form>

02. 데이터 출력 페이지 코드

	<!-- Ex01 ex01 = new Ex01 // 아래와 같은 기능 -->
	<jsp:useBean id="ex01" class="actionTag.ex01" /> <!-- actionTag 패키지 하위에 있는 ex01.java -->
	
	<!-- ex01.setData(request.getParameter("data")); -->
	<jsp:setProperty property="data" name="ex01"/>
	
	<!-- ex01.getData(); -->
	전달받은 데이터 : <jsp:getProperty property="data" name="ex01"/>

03. 사용된 클래스 코드

package actionTag;

public class ex01 {
	private String data;

	public String getData() {
		return data;
	}

	public void setData(String data) {
		this.data = data;
	}

}

04. 실행 화면