JavaBeans trong JSP
Một JavaBean là một lớp Java được xây dựng một cách đặc biệt trong Java và được mã hóa theo JavaBeans API Specifications.
Sau đây là các đặc trưng duy nhất giúp phân biệt một JavaBean với các lớp khác trong Java:
Nó cung cấp một constructor mặc định, không có tham số.
Nó có thể xếp thứ tự và triển khai Serializable interface.
Nó có thể có một số đặc tính mà có thể được đọc và được viết.
Nó có thể có một số phương thức "getter" và "setter" cho các đặc tính.
Các đặc tính của JavaBeans
Một đặc tính của JavaBean là một thuộc tính được đặt tên mà có thể được truy cập bởi người sử dụng đối tượng đó. Thuộc tính này có thể là bất kỳ kiểu dữ liệu Java nào, bao gồm cả các lớp mà bạn định nghĩa.
Một đặc tính của JavaBean có thể là read, write, read-only, hoặc write-only. Các đặc tính JavaBeans được truy cập thông qua hai phương thức trong lớp triển khai của JavaBean:
Phương thức | Miêu tả |
---|---|
getPropertyName() | Ví dụ, nếu tên đặc tính là firstName, thì tên phương thức sẽ là getFirstName() để đọc đặc tính đó. Phương thức này đượ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() để viết phương thức đó. Phương thức này được gọi bởi mutator. |
Một thuộc tính read-only sẽ chỉ có một phương thức getPropertyName(), và một thuộc tính write-only sẽ chỉ có một phương thức setPropertyName().
Ví dụ về JavaBeans
Bạn xem xét một Student class với một số đặc tính sau:
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
useBean action khai báo một JavaBean để sử dụng trong một JSP. Một khi đã được khai báo, Bean này trở thành một biến scripting mà có thể được truy cập bởi cả các phần tử scripting và các Custom Tags khác (custom tag) được sử dụng trong JSP. Cú pháp đầy đủ để sử dụng thẻ useBean là:
<jsp:useBean id="bean's name" scope="bean's scope" typeSpec/>
Ở đây, các giá trị cho thuộc tính scope có thể là page, request, session hoặc application tùy theo yêu cầu của bạn. Giá trị của thuộc tính id có thể là bất kỳ giá trị nào, miễn là nó là một tên duy nhất giữa các khai báo useBean trong cùng JSP.
Ví dụ sau minh họa cách sử dụng đơn giản của nó:
<html> <head> <title>useBean Example</title> </head> <body> <jsp:useBean id="date" class="java.util.Date" /> <p>The date/time is <%= date %> </body> </html>
Nó sẽ cho kết quả sau:
The date/time is Thu Sep 30 11:18:11 GST 2010
Truy cập các Property của JavaBeans
Cùng với <jsp:useBean...>, bạn có thể sử dụng <jsp:getProperty/> để truy cập các phương thức get và <jsp:setProperty/> action để truy cập các phương thức set. Đây là cú pháp đầy đủ:
<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>
Thuộc tính tham chiếu name id của một JavaBean được giới thiệu trước đó tới JSP bởi useBean action. Thuộc tính property là tên của phương thức get hoặc set nên được gọi.
Ví dụ đơn giản sau để truy cập dữ liệu bởi sử dụng cú pháp trên trong JSP:
<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>
Tạo StudentsBean.class có sẵn trong CLASSPATH và thử truy cập JSP trên. Nó sẽ cho kết quả sau:
Student First Name: Zara Student Last Name: Ali Student Age: 10
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.
Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack
Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Các bài học JSP khác tại VietJack:
- JSP - Cấu trúc
- JSP - Vòng đời (Life Cycle)
- JSP - Cú pháp
- JSP - Directive
- JSP - Action
- JSP - Đối tượng ẩn (Implicit)