nh ngh a chính th c c a JavaSoft v Bean: “JavaBean là m t
Đị ĩ ứ ủ ề ộ
component ph n m m có th dùng l i đ c, có th đ c th c hi n tr c quanầ ề ể ạ ượ ể ượ ự ệ ự
b ng môi tr ng phát tri n tích h p IDE (Integrated Developmentằ ườ ể ợ
Environment).”
JavaBean là m t đ i t ng Java b t k cài đ t interface Serializable.ộ ố ượ ấ ỳ ặ
Chúng ta th ng truy xu t các đ i t ng Java thông qua thu c tính c a nó,ườ ấ ố ượ ộ ủ
v i JavaBean đi u này c ng hoàn toàn t ng t nh ng th ng JavaBeanớ ề ũ ươ ự ư ườ
không s d ng tr c ti p cú pháp Java đ truy xu t thu c tính. JavaBean sử ụ ự ế ể ấ ộ ử
d ng các th t ng t nh HTML đ đ nh ngh a Bean, thi t l p ho c l y vụ ẻ ươ ự ư ể ị ĩ ế ậ ặ ấ ề
các giá tr c a Bean.ị ủ
Khi đ nh ngh a Bean chúng ta ph i tuân theo các quy t c sau:ị ĩ ả ắ
Tên l p c a Bean ph i có ti p v ng là Bean ch ng h n UserBean,ớ ủ ả ế ĩ ữ ẳ ạ
DataAccessBean, ...Th t s thì quy t c này không là yêu c u b t bu c nh ngậ ự ắ ầ ắ ộ ư
nó là m t đ nh h ng thông d ng và cho phép nh ng nhà phát tri n khác hi uộ ị ướ ụ ữ ể ể
ngay l p t c vai trò c a l p này. M t Bean ph i có m t hàm t o không cóậ ứ ủ ớ ộ ả ộ ạ
tham s . Bean không nên có b t k bi n th hi n (field) nào là ‘public’. Các giáố ấ ỳ ế ể ệ
tr b n v ng nên đ c truy c p thông qua các ph ng th c g i là getXxx vàị ề ữ ượ ậ ươ ứ ọ
M u chu n đ đ nh ngh a JavaBean nh sau:ẫ ẩ ể ị ĩ ư
Public class YourBean implements java.io.Serializable
{
protected int theValue;
// Ph ng th c kh i t o Beanươ ứ ở ạ
public MyBean ()
{
}
// Khai báo ph ng th c đ t giá tr cho thu c tínhươ ứ ặ ị ộ
MyValue
public void setBeanValue (int newValue)
{
theValue = newValue;
}
// Khai báo ph ng th c tr v giá tr c a thu c tínhươ ứ ả ề ị ủ ộ
MyValue
public int getBeanValue ()
return theValue;
}
}
Chúng ta biên d ch thành ph n Bean t ng t nh biên d ch các l p đ iị ầ ươ ư ư ị ớ ố
t ng Java thông th ng khác (s d ng trình biên d ch javac c a JDK). N uượ ườ ử ụ ị ủ ế
mu n tri u g i đ i t ng Bean trong trang JSP thì ta s d ng mã Java c aố ệ ọ ố ượ ử ụ ủ
JSP Bean có th đ c khai báo và s d ng nh sau:ể ượ ử ụ ư
<html>
<%
YourBean bean = new YourBean ();
bean.setBeanValue (11 + 2);
out.println (bean.getBeanValue ());
%>
</html>
Tuy nhiên, m c đích c a JavaBean là cho phép s d ng các th thay thụ ủ ử ụ ẻ ế
cho mã Java. Hãy xem Bean đ c đ nh ngh a và s d ng thông qua thượ ị ĩ ử ụ ẻ
<jsp:useBean> sau đây:
<html>
<jsp:useBean id = “bean” scope = “page”>
<jsp:setProperty name = “bean” property = “BeanValue” value = “12 + 3”>
<jsp:getProperty name = “bean” property = “BeanValue”>
</html>
Trong cách vi t th hai, hoàn toàn không có mã Java. Trang JSP s d ng cú phápế ứ ử ụ
t ng t HTML d a vào các th đ gán giá tr và truy xu t thu c tính c a JavaBean.ươ ự ự ẻ ể ị ấ ộ ủ
Khi s d ng các th đ truy xu t thu c tính c a Bean chúng ta không s d ng cácử ụ ẻ ể ấ ộ ủ ử ụ
ti p đ u ng get/set.ế ầ ữ