English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JavaBean은 Java 언어로 작성되고 JavaBean API 규격을 준수하는 특별한 Java 클래스입니다.
다음은 JavaBean이 다른 Java 클래스와 비교하여 독특한 특징을 가지고 있습니다:
기본적인 파라미터 없는 생성자를 제공합니다.
시리얼라이즈되고 Serializable 인터페이스를 구현해야 합니다.
읽기 쓰기 가능 속성이 여러 개 있을 수 있습니다.
getter 메서드가 여러 개 있을 수 있습니다. setter 메서드.
JavaBean 객체의 속성은 접근 가능해야 합니다. 이 속성은 어떤 법적 Java 데이터 타입이든, 사용자 정의 Java 클래스도 포함될 수 있습니다.
JavaBean 객체의 속성은 읽기 쓰기 가능, 읽기 전용, 쓰기 전용으로 나눌 수 있습니다. JavaBean 객체의 속성은 JavaBean 구현 클래스에서 제공하는 두 메서드를 통해 접근됩니다:
메서드 | 설명 |
---|---|
getPropertyName() | 예를 들어, 속성 이름이 myName이면, 이 메서드 이름은 getMyName()로 작성되어 이 속성을 읽어야 합니다. 이 메서드는 접근 메서드라고도 합니다. |
setPropertyName() | 예를 들어, 속성 이름이 myName이면, 이 메서드 이름은 setMyName()로 작성되어 이 속성에 쓰여야 합니다. 이 메서드는 쓰기 메서드라고도 합니다. |
읽기 전용 속성은 getPropertyName() 메서드만 제공하고, 쓰기 전용 속성은 setPropertyName() 메서드만 제공합니다.
이 StudentBean.java 파일은 다음과 같습니다:
package com.w3codebox; public class StudentsBean implements java.io.Serializable { private String firstName = null; private String lastName = null; private int age = 0; public StudentsBean() { {} public String getFirstName(){ return firstName; {} public String getLastName(){ return lastName; {} public int getAge(){ return age; {} public void setFirstName(String firstName){ this.firstName = firstName; {} public void setLastName(String lastName){ this.lastName = lastName; {} public void setAge(int age) { this.age = age; {} {}
StudentBean.java 파일을 컴파일합니다(마지막 예제에서 사용됩니다):
$ javac StudentsBean.java
컴파일하여 StudentBean.class 파일을 복사하여 <JSP 프로젝트>/WebContent/WEB-INF/classes/com/w3codebox위 그림과 같이 보입니다:
<jsp:useBean> 태그는 JSP에서 JavaBean을 선언하고 사용할 수 있습니다. 선언 후, JavaBean 객체는 스크립트 변수가 되며 스크립트 요소나 다른 커스텀 태그를 통해 접근할 수 있습니다. <jsp:useBean> 태그의 문법 형식은 다음과 같습니다:
<jsp:useBean id="bean 의 이름" scope="bean 의 작용域" typeSpec/>
특정 상황에 따라 scope의 값은 page, request, session 또는 application일 수 있습니다. id 값은 다른 <jsp:useBean> 태그의 id 값과 중복되지 않는 모든 값으로 사용할 수 있습니다.
다음은 <jsp:useBean> 태그의 간단한 사용법입니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>useBean 예제</title> </head> <body> <jsp:useBean id="date" /> <p>날짜는:<%= date %> </body> </html>
다음과 같은 결과를 얻습니다:
날짜는 Tue Jun 28 15:22:24 CST 2016
다음은 <jsp:useBean> 태그 본문에서 사용됩니다 <jsp:getProperty/> 태그를 사용하여 호출합니다 getter 메서드는 다음과 같이 사용됩니다 <jsp:setProperty/> 태그를 사용하여 호출합니다 setter 메서드, 문법 형식은 다음과 같습니다:
<jsp:useBean id="id" scope="bean 작용域"> <jsp:setProperty name="bean 의 id" property="속성명" value="value"/> <jsp:getProperty name="bean 의 id" property="속성명"/> ........... </jsp:useBean>
name 속성은 Bean의 id 속성을 의미합니다. property 속성은 호출하고자 하는 getter 또는 setter 메서드를 의미합니다。
다음은 이 syntax를 사용하여 속성 접근을 하는 간단한 예제를 제공합니다:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <head> <title>get과 set 속성 예제</title> </head> <body> <jsp:useBean id="students"> > <jsp:setProperty name="students" property="firstName"> value="소강"/> <jsp:setProperty name="students" property="lastName"> value="왕"/> <jsp:setProperty name="students" property="age"> value="10"/> </jsp:useBean> <p>학생 이름: <jsp:getProperty name="students" property="firstName">/> </p> <p>학생 성씨: <jsp:getProperty name="students" property="lastName">/> </p> <p>학생 연령: <jsp:getProperty name="students" property="age">/> </p> </body> </html>
위 JSP에 접근하여 실행 결과는 다음과 같습니다:
학생 이름: 소강 학생 성씨: 왕 학생 연령: 10