當前位置:開發者網絡 >> 技術教程 >> JSP教程 >> Jsp/Servlet >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
Jsp + JavaBean循序漸進教程(二)
作者:未知
日期:2003-07-26
人氣:
投稿:Andy.m(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
JavaBeans 和 JavaServer Pages的結合

  通過上面的學習,大家對JavaBean應該有了一個基本的瞭解,對於在JavaServer Pages中調用JavaBeans我們還需要瞭解一些特定的jsp的內容,讓我們來看看吧。

  JavaServer Pages中的JavaBean相關標籤

  在JavaServer Pages中調用JavaBean有三個標準的標籤,那就是$#@60;jsp:useBean$#@62;, $#@60;jsp:setProperty$#@62;,以及$#@60;jsp:getProperty$#@62;。

  $#@60;jsp:useBean$#@62;標籤

  $#@60;jsp:useBean$#@62;可以定義一個具有一定生存範圍以及一個唯一id的JavaBean的實例,這樣JavaServer Pages通過id來識別JavaBean,也可以通過id.method類似的語句來操作JavaBean。

  在執行過程中,$#@60;jsp:useBean$#@62;首先會嘗試尋找已經存在的具有相同id和scope值的JavaBean實例,如果沒有就會自動創建一個新的實例。

  其具體語法如下

$#@60;jsp:useBean id=「name」
scope=「page|request|session|application」
typeSpec$#@62;
body
$#@60;/jsp:useBean$#@62;

  其中,typeSpec定義如下

typeSpec ::=class=「className」
| class=「className」 type=「typeName」
| type=「typeName」 class=「className」
| beanName=「beanName」 type=「typeName」
| type=「typeName」 beanName=「beanName」
| type=「typeName」

  下面的表格是$#@60;jsp:useBean$#@62;標籤中相關屬性的含義

  屬性及定義

Id
  id屬性是JavaBean對象的唯一標誌,代表了一個JavaBean對象的實例。它具有特定的存在範圍(page|request|session|application)。在JavaServer Pages中通過id來識別JavaBean。

Scope
  Scope屬性代表了Javabean對象的生存時間,可以是page, request, session, 和 application中的一種。

Class
  代表了JavaBean對象的class名字,特別注意大小寫要完全一致。

beanName
  BeanName屬性代表了Bean的名字,通常通過java.beans.Beans class的 tantiate() 方法來初始化。.

Type
  Type屬性指定了腳本變量定義的類型,默認為腳本變量定義和class中的屬性一致,一般我們都採用默認值

  $#@60;jsp:setProperty$#@62;標籤

  另一個標準的標籤就是$#@60;jsp:setProperty$#@62;標籤了,它主要用於設置bean的屬性值。JavaServer Pages中調用的語法如下:

  $#@60;jsp:setProperty name=「beanName」 last_syntax /$#@62;

  其中,name屬性代表了已經存在的並且具有一定生存範圍(scope)的JavaBean實例。last_syntax代表的語法如下: property=「*」 |
property=「propertyName」 |
property=「propertyName」 param=「parameterName」 |
property=「propertyName」 value=「propertyValue」

  下面是$#@60;jsp:setProperty$#@62;標籤的基本屬性以及含義

  屬性及定義

Name
  Name代表通過$#@60;jsp:useBean$#@62; 標籤定義的JavaBean對像實例。

Property
  這是個很重要的屬性,代表了你想設置值的屬性property名字。如果使用property=」*」,程序就會反覆的查找當前的ServletRequest所有參數,並且匹配JavaBean中相同名字的屬性property,並通過JavaBean中屬性的set方法賦值value給這個屬性。如果value屬性為空,則不會修改Javabean中的屬性值。

Param
  Param屬性代表了頁面請求的參數名字,$#@60;jsp:setProperty$#@62;標籤不能同時使用param和value。

Value
  Value屬性代表了賦給Bean的屬性property的具體值。

  $#@60;jsp:getProperty$#@62;標籤

  最後一個標籤就是$#@60;jsp:getProperty$#@62;標籤了.它可以得到JavaBean實例的屬性值,並將他們轉換為 java.lang.String, 最後放置在隱含的Out對像中. JavaBean的實例必須在$#@60;jsp:getProperty$#@62;前面定義.

  $#@60;jsp:getProperty$#@62;標籤的語法如下:

  $#@60;jsp:getProperty name=「name」 property=「propertyName」 /$#@62;

  下面是$#@60;jsp:getProperty$#@62;標籤的基本屬性以及含義

  屬性及定義

Name
  Name屬性代表了想要獲得屬性值的Bean的實例,Bean實例必須在前面用$#@60;jsp:useBean$#@62;標籤定義.

Property
  Property屬性代表了想要獲得值的那個property的名字。 
相關文章: