각진 세상에 둥근 춤을 추자

[JSP] <jsp: useBean> 본문

JSP

[JSP] <jsp: useBean>

circle.j 2022. 10. 12. 00:42

 

 

useBean 액션 태그는 자바빈즈(JavaBeans)를 생성하거나 설정할 때 사용한다

 

 

자바빈즈는 데이터를 저장하기 위한 멤버 변수(속성)과 Getters/Setters 메서드로만 이루어진 클래스를 말한다. 

 

  • 자바빈즈는 기본(default) 패키지 이외의 패키지에 속해 있어야 한다.
  • 멤버 변수(속성, 프로퍼티)의 접근 지정자는 private로 선언한다. 
  • 기본 생성자가 있어야 한다.
  • 멤버 변수에 접근할 수 있는 Getters/Setters 메서드가 있어야 한다.
  • Getters/Setters 메서드의 접근 지정자는 public으로 선언한다.

 

 

<jsp: useBean> 액션 태그의 사용 형식은 다음과 같다.

<jsp:useBean id="자바빈즈 이름" class="사용할 패키지와 클래스명" scope="저장될 영역/>

 

 

<jsp: setProperty>로 멤버 변수에 값을 설정하는 형식은 다음과 같다. 

<jsp:setProperty name="자바빈즈 이름" property="속성명(멤버 변수)" value="설정할 값"/>

 

 

<jsp: getProperty>로 자바빈즈의 값을 추출하는 형식은 다음과 같다.

<jsp:getProperty name="자바빈즈 이름" property="속성명(멤버 변수)"/>

 

 

[예제]

(1) 액션 태그로 자바빈즈 사용하기: UseBeanMain.jsp

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>액션 태그 - UseBean</title>
	</head>
	<body>
		<!-- 자바빈즈 생성하기 -->
		<jsp:useBean id="person" class="common.Person"/>
		
		<!-- Property 액션 태그로 자바빈즈 속성 지정하기 -->
		<jsp:setProperty property="name" name="person" value="임꺽정"/>
		<jsp:setProperty property="age" name="person" value="41"/>
		
		<!-- getProperty 액션 태그로 자바빈즈 속성 읽기 -->
		<ul>
			<li> 이름: <jsp:getProperty property="name" name="person"/> </li>
			<li> 나이: <jsp:getProperty property="age" name="person"/> </li>
		</ul>
	</body>
</html>

 

 

(2) Java Resources - src/main/java - common 패키지 생성 - Person 자바 파일 생성

package common;

public class Person {
	private String name;
	private int age;
	
	public Person() {}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
}