컴포넌트 형태로 제작된 자바 모듈
JSP 페이지가 복잡한 자바코드로 구성되는 것을 피하고
JSP 페이지에는 HTML과 같은 쉽고 간단한 코드만을
구성하도록 하는 것이 목적이다.
자바빈즈작성 규칙
1.자바 클래스는 java.io.Serializable인터페이스를 구현
2.인수가 없는 기본 생성자 있어야함
3.모든 멤버 변수인 프로퍼티는 private접근 지정자로 설정
4.모든 멤버 변수인 프로퍼티는 getter/setter()메소드가 존재해야함
package dto;
import java.io.Serializable;
1.
public class Product implements Serializable{
3.
private String productId; //상품아이디
private String pname; //상품명
private Integer unitPrice; //상품 가격
private String description; //상품설명
private String manufacturer; //제조사
private String category; //분류
private long unitsInStock; //재고수
private String condition; //신상품 or중고품or 재생품
2.
//기본생성자
public Product() {
}
//아이디,이름,가격으로 생성자
public Product(String productId, String pname, Integer unitPrice) {
super();
this.productId = productId;
this.pname = pname;
this.unitPrice = unitPrice;
}
4.
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
.
.
.
.
설정된 id속성과 scope속성을 바창으로 자바빈즈의 객체를 검색하고, 객체가 발견되지 않으면 빈 객체를 생성한다.
<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
<!-- getId와 getName 메소드를 사용해 아이디와 이름가져옴 -->
<jsp:useBean id="person" class="ch04.com.dao.Person" scope="request" />
<p> 아이디 : <%=person.getId()%>
<p> 이 름 : <%=person.getName()%>
</body>
</html>
--Person자바 파일
//java.io.Serializable인터페이스 생략가능
package ch04.com.dao;
public class Person {
// 멤버변수들은 private으로작성
private int id = 20181004;
private String name = "홍길순";
public Person() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
setter()메소드에 접근하여 자바빈즈의 멤버 변수인 프로퍼티의 값을 저장하는 태그
<%@ page contentType="text/html; charset=utf-8"%>
<html>
<head>
<title>Action Tag</title>
</head>
<body>
<jsp:useBean id="person" class="ch04.com.dao.Person" scope="request" />
<jsp:setProperty name="person" property="id" value="20182005" />
<jsp:setProperty name="person" property="name" value="홍길동" />
<p> 아이디 : <% out.println(person.getId()); %>
<p> 이 름 : <% out.println(person.getName()); %>
</body>
</html>