I. Khái niệm và các quy ước của Bean.
c) jsp:getProperty element
Lấy giá trị của thuộc tính Bean để hiển thị giá trị này trong trang kết quả.
Cú pháp:
<jsp:getProperty name = “beanName” property = “propertyName” />
2. Phương pháp chuyển kiểu tự động JSP Bean
Các thuộc tính của một thành phần JSP thì không giới hạn giá trị chuổi (string) nhưng rất quan trọng để hiểu rằng tất cả giá trị của thuộc tính được truy cập qua <jsp:getProperty> tag sẽ được chuyển thành kiểu chuổi. Tuy nhiên, phương thức getter không cần trả về kiểu String một cách tường minh vì JSP container sẽ tự động chuyển giá trị trả về này thành kiểu String nếu cần thiết. Đối với các kiểu dữ liệu cơ bản của Java, sự chuyển đổi được thể hiện trong bảng sau:
Đồ án tốt nghiệp Gvhd: Ts.Nguyễn Thúc Hải
Property Type Conversion to String
boolean Java.lang.Boolean.toString(boolean) byte Java.lang.Byte.toString(byte) char Java.lang.Character.toString(char) double Java.lang.Double.toString(double) int Java.lang.Integer.toString(int) float Java.lang.Float.toString(float) long Java.lang.Long.toString(long)
Tương tự, tất cả phương thức setter của thuộc tính được truy cập với <jsp:setProperty> tag sẽ được tự động chuyển từ String sang một kiểu gốc thích hợp bởi JSP container. Điều này được thực hiện qua các phương thức của các lớp vỏ bọc Java.
Property Type Conversion from String
boolean or Boolean java.lang.Boolean.valueOf(string) byte or Byte java.lang.Byte.valueOf(string) char or Character java.lang.Character.valueOf(string) double or Double java.lang.Double.valueOf(string) int or Integer java.lang.Integer.valueOf(string) float or Float java.lang.Float.valueOf(string) long or Long java.lang.Long.valueOf(string)
3.Tìm hiểu cách INTROSPECTOR làm việc.
a)Introspector là gì?
Introspector là bộ phân tích mà qua đó Java xem xét các đoạn mã của chương trình để tìm ra những phương thức dùng để xây dựng và áp dụng cho từng thuộc tính cũng như tình huống cụ thể. Chúng ta không cần quan tâm đến các khai báo phức tạp khác. Ví dụ thiết lập hai phương thức sau:
public void setAge(int age) public int getAge()
Hải
Theo cách này Bean container sẽ hiểu là chương trình muốn tạo ra thuộc tính là age có kiểu int – Bean container sẽ chuyển các thuộc tính theo quy tắc:
FoorBar foorBar Z z URL URL
b)Thiết kế các phương thức mẫu dùng cho thuộc tính.
Đối với thuộc tính mang những trị đơn, hai phương thức getter và
setter được viết theo mẫu sau (với getter và setter xem 4.Thuộc tính của Bean):
public void setAttributeName(AttributeType param) public AttributeType getAttributeName()
Đối với thuộc tính mang những trị kiểu boolean, phương thức getter
được dùng với tiếp đầu ngữ là is thay cho get:
public void setAttributeName(AttributeType param) public boolean isAttributeName()
Đối với thuộc tính gồm nhiều phần tử (index attribute) các phương thức
getter và setter cũng được thiết lập tương tự. Chúng ta có thể sử dụng một
cặp phương thức hay cả hai cặp phương thức cũng được.
public void setAttributeName(int index, AttributeType value)
public AttributeType getAttributeName()
và/hoặc
public void setAttributeName(AttributeType[] value) public AttributeType[] getAttributeName()