如何使用動作在 JSP 中?
setProperty 動作用於設定 Bean 的屬性。在使用此動作之前,必須先定義 Bean。使用 setProperty 動作主要有兩種基本方式:
您可以將 jsp:setProperty 放在 jsp:useBean 元素之後,但在其外部,如下所示:
<jsp:useBean id = "myName" ... /> ... <jsp:setProperty name = "myName" property = "someProperty" .../>
在這種情況下,無論是否例項化了新的 Bean 或找到了現有的 Bean,都會執行 jsp:setProperty。
jsp:setProperty 可以出現的第二個上下文是在 jsp:useBean 元素的主體內部,如下所示:
<jsp:useBean id = "myName" ... > ... <jsp:setProperty name = "myName" property = "someProperty" .../> </jsp:useBean>
這裡,只有在例項化了一個新物件時才會執行 jsp:setProperty,如果找到了一個現有的物件則不會執行。
下表列出了與 setProperty 動作相關的屬性:
| 序號 | 屬性及描述 |
|---|---|
| 1 | name 指定要設定其屬性的 Bean。該 Bean 必須已事先定義。 |
| 2 | property 指示要設定的屬性。值為 "*" 表示所有名稱與 Bean 屬性名稱匹配的請求引數都將傳遞到相應的 setter 方法。 |
| 3 | value 要分配給給定屬性的值。如果引數的值為 null,或者引數不存在,則忽略 setProperty 動作。 |
| 4 | param param 屬性是請求引數的名稱,該引數的值是屬性要接收的值。您不能同時使用 value 和 param,但允許兩者都不使用。 |
示例
讓我們定義一個測試 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;
}
}將以上程式碼編譯到生成的 TestBean.class 檔案中,並確保您將 TestBean.class 複製到 C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action 資料夾中,並且 CLASSPATH 變數也應設定為該資料夾:
現在在 main.jsp 檔案中使用以下程式碼。這將載入 Bean 並設定/獲取一個簡單的字串引數:
<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>
現在讓我們嘗試訪問 main.jsp,它將顯示以下結果:
在 JSP 中使用 JavaBeans
Got message.... Hello JSP...
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP