JSP Beans는 JSP 기술에서 데이터와 로직을 분리하여 관리하기 위해 사용되는 자바 객체를 의미한다.
(html안에 있는 자바 구문을 빼내고 그 구문을 class로 만든다. 그 class가 beans가 된다. 이때 이 class를 사용하는 것은 클래스의 포함관계임)
영역 | 설명 |
---|---|
application | public 느낌-범용적으로 유효 |
request | private 느낌- 페이지에 있다 다른 곳으로 가서도 유효? |
session | protected 느낌 - session이 살아있을때까지 유효 |
package pack;
public class Test11FormBean { // 클라이언트에서 전달되는 값이 여러 개인 경우 FormBean을 사용(꼭 사용하는 것은 아니지만 사용하길 권장)
private String name;
private int kor;
private int eng;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getKor() {
return kor;
}
public void setKor(int kor) {
this.kor = kor;
}
public int getEng() {
return eng;
}
public void setEng(int eng) {
this.eng = eng;
}
}
<jsp:useBean id="bean" class="pack.Test11FormBean" />
<%-- property="name"의 name은 setName, getName의 Name를 뜻함
<jsp:setProperty property="name" name="bean"/>
--%>
<jsp:setProperty property="*" name="bean"/> <%-- name,kor,eng 들을 여러번 적기 힘드니 "*"를 사용 --%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
폼빈(FormBean)에 등록된 자료를 출력<br/>
이름은 <jsp:getProperty property="name" name="bean"/><br/> <!-- 여기서의 bena을 formbean -->
국어는 <jsp:getProperty property="kor" name="bean"/><br/>
영어는 <jsp:getProperty property="eng" name="bean"/><br/>
<jsp:useBean id="process" class="pack.Test11Process"/>
<jsp:setProperty property="formBean" name="process" value="<%=bean %>"/>
총점은 <jsp:getProperty property="tot" name="process"/><br/> <%-- get에서 이름을 만들어내야 여기서 읽을 수 있다. --%>
평균은 <jsp:getProperty property="avg" name="process"/><br/>
</body>
</html>
<jsp:useBean id="이름" class="자바빈 클래스 이름" scope="범위"/>
id
: 생성할 객체의 이름을 정의(무조건 적어야함)
class
: 객체를 생성할 클래스명을 정의(패키지명.클래스명으로 설정)
scope
: 자바빈 객체가 공유되는 범위를 지정 (page가 default값)
String message = request.getParameter("message");
my.setMessage(message);
의 코드는
<jsp:setProperty property="message" name="my"/>
와 같다. 여기서
property
: 값을 지정할 프로퍼티의 이름(프로퍼티란 자바빈에 저장되어있는 값)
name
: 프로퍼티의 값을 변경할 자바빈 객체의 이름, <jsp:useBean> 액션 태그의 id속성에서 지정한 값을 사용한다.
<jsp:useBean>
액션태그는 JSP 페이지에서 사용할 자바빈 객체를 지정한다.