Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Cách sử dụng action <jsp:setProperty> trong JSP

Action setProperty thiết lập các thuộc tính của một Bean. Bean phải đã được định nghĩa trước action này. Có hai cách cơ bản để sử dụng setProperty action:

Bạn có thể dùng jsp:setProperty sau, nhưng bên ngoài element jsp:useBean, như sau:

<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 bean hiện có được tìm thấy.

Bối cảnh thứ hai mà jsp:setProperty có thể xuất hiện là bên trong body của element jsp:useBean, như sau:

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

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

Bảng sau liệt kê các thuộc tính liên quan đến action setProperty:

STT Thuộc tính & Mô tả
1 name
Chỉ định bean mà thuộc tính của nó sẽ được set. Bean phải đã được định nghĩa trước.
2 property
Chỉ ra thuộc tính bạn muốn set. Giá trị "*" nghĩa là tất cả request parameter có tên khớp với tên thuộc tính bean sẽ được truyền đến setter method tương ứng.
3 value
Giá trị được gán cho thuộc tính đó. Nếu giá trị param là null hoặc param không tồn tại, action setProperty bị bỏ qua.
4 param
Thuộc tính param là tên request parameter mà giá trị của nó sẽ được nhận bởi property. Không thể dùng cả value và param cùng lúc, nhưng có thể không dùng cái nào.

Ví dụ

Định nghĩa test bean:

/* 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 và copy TestBean.class vào C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action, set CLASSPATH.

Mã trong main.jsp:

<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>

Truy cập main.jsp, kết quả:

Using JavaBeans in JSP

 Got message.... Hello JSP...