我需要了解如何在JSP頁面中使用Bean並更新其屬性。請分享一個例子。
useBean 動作非常通用。它首先使用id和scope變數搜尋現有的物件。如果找不到物件,則嘗試建立指定的物件。
載入Bean最簡單的方法如下:
<jsp:useBean id = "name" class = "package.class" />
載入Bean類後,可以使用jsp:setProperty和jsp:getProperty動作來修改和檢索Bean屬性。
下表列出了與useBean動作相關的屬性:
| 序號 | 屬性及描述 |
|---|---|
| 1 | class 指定Bean的完整包名。 |
| 2 | type 指定將引用該物件的變數的型別。 |
| 3 | beanName 給出java.beans.Beans類的instantiate()方法指定的Bean名稱。 |
在給出與這些動作相關的有效示例之前,讓我們討論一下jsp:setProperty和jsp:getProperty動作。
<jsp:setProperty> 動作
setProperty動作設定Bean的屬性。在執行此動作之前,必須先定義Bean。使用setProperty動作有兩種基本方法:
您可以像下面這樣在jsp:useBean元素之後但外部使用jsp:setProperty:
<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,但允許兩者都不使用。 |
<jsp:getProperty> 動作
getProperty動作用於檢索給定屬性的值,將其轉換為字串,最後將其插入輸出。
getProperty動作只有兩個屬性,這兩個屬性都是必需的。getProperty動作的語法如下:
<jsp:useBean id = "myName" ... /> ... <jsp:getProperty name = "myName" property = "someProperty" .../>
下表列出了與getProperty動作相關的必需屬性:
| 序號 | 屬性及描述 |
|---|---|
| 1 | name 要檢索其屬性的Bean的名稱。必須先定義Bean。 |
| 2 | property property屬性是要檢索的Bean屬性的名稱。 |
示例
讓我們定義一個測試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並設定/獲取一個簡單的String引數:
<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,它將顯示以下結果:
Using JavaBeans in JSP Got message.... Hello JSP...
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP