Computer >> Máy Tính >  >> Lập trình >> Lập trình

Tôi cần hiểu cách sử dụng bean và cập nhật các thuộc tính của nó trong trang JSP. Hãy chia sẻ một ví dụ.

useBean hành động là khá linh hoạt. Đầu tiên, nó tìm kiếm một đối tượng hiện có bằng cách sử dụng các biến id và phạm vi. Nếu một đối tượng không được tìm thấy, nó sẽ cố gắng tạo đối tượng được chỉ định.

Cách đơn giản nhất để tải một bean như sau -

<jsp:useBean id = "name" class = "package.class" />

Sau khi một lớp bean được tải, bạn có thể sử dụng jsp:setProperty jsp:getProperty các hành động để sửa đổi và truy xuất các thuộc tính bean.

Bảng sau liệt kê các thuộc tính được liên kết với hành động useBean -

S.Không. Thuộc tính &Mô tả
1 lớp
Chỉ định tên gói đầy đủ của đậu.
2 loại
Chỉ định kiểu của biến sẽ tham chiếu đến đối tượng.
3 beanName
Cung cấp tên của bean như được chỉ định bởi phương thức Instantiate () của lớp java.beans.Beans.

Bây giờ chúng ta hãy thảo luận về jsp:setProperty jsp:getProperty trước khi đưa ra một ví dụ hợp lệ liên quan đến các hành động này.

Hành động

setProperty hành động thiết lập các thuộc tính của một Bean. Bean phải được xác định trước đó trước khi thực hiện hành động này. Có hai cách cơ bản để sử dụng hành động setProperty -

Bạn có thể sử dụng jsp:setProperty sau, nhưng bên ngoài jsp:useBean phần tử, như được đưa ra bên dưới -

<jsp:useBean id = "myName" ... />
   ...
<jsp:setProperty name = "myName" property = "someProperty" .../>

Trong trường hợp này, jsp:setProperty được thực thi bất kể một bean mới đã được khởi tạo hay một bean hiện có đã được tìm thấy.

Bối cảnh thứ hai mà jsp:setProperty có thể xuất hiện bên trong nội dung của jsp:useBean phần tử, như được đưa ra bên dưới -

<jsp:useBean id = "myName" ... >
   ...
   <jsp:setProperty name = "myName" property = "someProperty" .../>
</jsp:useBean>

Ở đây, jsp:setProperty chỉ được thực thi khi một đối tượng mới được khởi tạo, chứ không phải nếu một đối tượng hiện có được tìm thấy.

Bảng sau liệt kê các thuộc tính được liên kết với setProperty hành động -

S.Không. Thuộc tính &Mô tả
1 tên
Chỉ định bean thuộc tính sẽ được thiết lập. Bean phải được xác định trước đó.
2 thuộc tính
Cho biết thuộc tính bạn muốn đặt. Giá trị "*" có nghĩa là tất cả các tham số yêu cầu có tên khớp với tên thuộc tính bean sẽ được chuyển đến các phương thức setter thích hợp.
3 giá trị
Giá trị được gán cho thuộc tính đã cho. Giá trị của tham số là null hoặc tham số không tồn tại, hành động setProperty bị bỏ qua.
4 thông số
Thuộc tính param là tên của tham số yêu cầu có giá trị mà thuộc tính sẽ nhận. Bạn không thể sử dụng cả giá trị và tham số, nhưng cũng được phép sử dụng cả hai.

Hành động

getProperty action được sử dụng để truy xuất giá trị của một thuộc tính nhất định và chuyển đổi nó thành một chuỗi, và cuối cùng chèn nó vào đầu ra.

Hành động getProperty chỉ có hai thuộc tính, cả hai đều là thuộc tính bắt buộc. Cú pháp của hành động getProperty như sau -

<jsp:useBean id = "myName" ... />
   ...
<jsp:getProperty name = "myName" property = "someProperty" .../>

Bảng sau liệt kê các thuộc tính bắt buộc được liên kết với getProperty hành động -

S.Không. Thuộc tính &Mô tả
1 tên
Tên của Bean có thuộc tính cần truy xuất. Bean phải được xác định trước đó.
2 thuộc tính
Thuộc tính property là tên của thuộc tính Bean sẽ được truy xuất.

Ví dụ

Hãy để chúng tôi xác định một bean thử nghiệm sẽ được sử dụng thêm trong ví dụ của chúng tôi -

/* File: TestBean.java */
package action;

public class TestBean {
   private String message = "No message specified";

   public String getMessage() {
      return(message);
   }
   public void setMessage(String message) {
      this.message = message;
   }
}

Biên dịch mã trên sang TestBean.class đã tạo và đảm bảo rằng bạn đã sao chép lớp TestBean.class trong C:\ apache-tomcat-7.0.2 \ webapps \ WEB-INF \ class \ action CLASSPATH biến cũng phải được đặt thành thư mục này -

Bây giờ, hãy sử dụng mã sau trong main.jsp tập tin. Thao tác này tải bean và đặt / nhận một tham số Chuỗi đơn giản -

<html>
   <head>
      <title>Using JavaBeans in JSP</title>
   </head>
   <body>
      <center>
         <h2>Using JavaBeans in JSP</h2>
         <jsp:useBean id = "test" class = "action.TestBean" />
         <jsp:setProperty name = "test" property = "message"
          value = "Hello JSP..." />

         <p>Got message....</p>
         <jsp:getProperty name = "test" property = "message" />
      </center>
   </body>
</html>

Bây giờ chúng ta hãy thử truy cập vào main.jsp , nó sẽ hiển thị kết quả sau -

Using JavaBeans in JSP
Got message....
Hello JSP...