Nội dung
JavaBean là gì?
JavaBean chính là các lớp thuần Java được sử dụng để thực hiện các thực thể trong chương trình Java
JavaBean cần phải tuân thủ theo các quy ước sau:
– Có một hàm tạo không đổi
– Nó phải được nối tiếp
– Sở hữu các thuộc tính private
– Mỗi thuộc tính tương ứng với các lớp. Cung cấp phương thức setter/getter để truy cập và thao tác với giá trị các thuộc tính. Trong đó:
- Setter là phương thức cho phép thiết lập giá trị
- Getter là phương thức cho phép truy cập và tiếp nhận giá trị
JavaBean trong JSP và cách sử dụng
1. Tạo Java Project
Soạn thảo trình Java bằng cách sử dụng NetBeans IDE
Tạo mới Java Project và đặt tên cho Project đó, rồi chọn đường dẫn thư mục có chứa Project vừa tạo.
2. Tạo JavaBean
Thể hiện JavaBean bằng cách tạo ra Java class.
Định nghĩa lớp có tên là CodeGym
Các đặc tính của JavaBean
Đặc tính của JavaBean là thuộc tính được đặt tên, có thể được người sử dụng đối tượng truy cập. Thuộc tính có thể là kiểu dữ liệu Java bất kỳ bao gồm các lớp định nghĩa.
Phương thức trong lớp triển khai JavaBeans được truy cập thông qua 2 kiểu:
Phương thức | Miêu tả |
getPropertyName() | Ví dụ, nếu như tên đặc tính là firstName, thì tên phương thức sẽ là getFirstName() để đọc tất cả các đặc tính đó. Phương thức này thường được gọi bởi accessor |
setPropertyName() | Ví dụ, nếu tên đặc tính là firstName, thì tên phương thức sẽ là setFirstName() để có thể viết phương thức đó. Phương thức này thường được gọi bởi mutator. |
Ví dụ về JavaBean
package com.tutorialspoint; 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(Integer age){ this.age = age; } }
Truy cập JavaBeans
Khai báo JavaBean sử dụng trong JPS bằng useBean. Thông thường, sau khi khai báo, Bean này trở thành biến sripting có thể truy cập cả các phần tử Scripting và các Custom Tags khác trong JSP. Sử dụng thẻ useBean theo cú pháp:
<jsp:useBean id="bean's name" scope="bean's scope" typeSpec/>
Các thuộc tính id có thể là bất kỳ giá trị nào, chỉ cần đó là cái tên duy nhất giữa các khai báo useBean trong cùng JSP.
Ví dụ:
<html> <head> <title>useBean Example</title> </head> <body> <jsp:useBean id="date" class="java.util.Date" /> <p>The date/time is <%= date %> </body> </html> Kết quả: The date/time is Thu Sep 30 11:18:11 GST 2010
Ý nghĩa của các thẻ:
- <jsp:useBean>: Được sử dụng để định vị hoặc tạo ra đối tượng JavaBean.
- <jsp:setProperty>: Được sử dụng để thiết lập giá trị cho thuộc tính của JavaBean.
- <jsp:getProperty>: Được sử dụng để get (lấy) giá trị thuộc tính của JavaBean.
Để sử dụng trong một tệp JSP, Action useBean khai báo JavaBean
Bean trở thành một biến script sau khi được khai báo, có thể được truy cập bởi tất cả các phần tử script và thẻ tùy chỉnh khác được sử dụng trong JSP.
Thẻ useBean có cú pháp đầy đủ như sau:
<jsp:useBean id = "Tên Bean" scope = "Phạm vi của Bean" typeSpec/>
Các giá trị cho thuộc tính scope ở đây có thể là:
- Page
- Request
- Session
- Hoặc dựa trên chính yêu cầu của ứng dụng
Thuộc tính id (Tên Bean) có giá trị, nó là bất kỳ giá trị nào miễn phải tồn tại tên duy nhất trong số các khai báo useBean khác trong cùng một tệp JSP.
Truy cập Property của JavaBean
Song song với việc sử dụng <jsp:useBean…>, thì bạn cũng có thể sử dụng <jsp:getProperty/> nhằm truy cập vào các phương thức get. Còn đối với <jsp:setProperty/> action để truy cập các phương thức set. Dưới đây là cú pháp áp dụng:
<jsp:useBean id="id" class="bean's class" scope="bean's scope"> <jsp:setProperty name="bean's id" property="property name" value="value"/> <jsp:getProperty name="bean's id" property="property name"/> ........... </jsp:useBean>
Name id của một JavaBean thuộc tham chiếu sẽ được giới thiệu trước đó tới JSP bởi một useBean action. Còn thuộc tính property thì chính là tên của phương thức get hoặc set.
Để truy có thể cập dữ liệu sử dụng cú pháp trong JSP bạn nên tham khảo ví dụ dưới đây:
<html> <head> <title>get and set properties Example</title> </head> <body> <jsp:useBean id="students" class="com.tutorialspoint.StudentsBean"> <jsp:setProperty name="students" property="firstName" value="Zara"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <jsp:setProperty name="students" property="age" value="10"/> </jsp:useBean> <p>Student First Name: <jsp:getProperty name="students" property="firstName"/> </p> <p>Student Last Name: <jsp:getProperty name="students" property="lastName"/> </p> <p>Student Age: <jsp:getProperty name="students" property="age"/> </p> </body> </html> Khi tạo StudentsBean.class có sẵn trong CLASSPATH và thao tác truy cập JSP trên. Kết quả thu được sẽ hình thành: Student First Name: Zara Student Last Name: Ali Student Age: 10
Tổng kết
Trên đây là những khái niệm cơ bản về JavaBean cũng như hướng dẫn cách sử dụng JavaBean qua JSP sao cho hiệu quả nhất. Hi vọng thông qua định nghĩa đi kèm với ví dụ trực tiếp trong bài viết, sẽ hỗ trợ và giúp bạn hình dung rõ hơn để áp dụng JavaBean chính xác trong lập trình nhé!
Bài viết liên quan:
0 Lời bình