明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Jsp + JavaBean循序漸進(jìn)圖文詳細(xì)教程(二)

[摘要]JavaBeans 和 JavaServer Pages的結(jié)合  通過(guò)上面的學(xué)習(xí),大家對(duì)JavaBean應(yīng)該有了一個(gè)基本的了解,對(duì)于在JavaServer Pages中調(diào)用JavaBeans我們還需...
JavaBeans 和 JavaServer Pages的結(jié)合

  通過(guò)上面的學(xué)習(xí),大家對(duì)JavaBean應(yīng)該有了一個(gè)基本的了解,對(duì)于在JavaServer Pages中調(diào)用JavaBeans我們還需要了解一些特定的jsp的內(nèi)容,讓我們來(lái)看看吧。

  JavaServer Pages中的JavaBean相關(guān)標(biāo)簽

  在JavaServer Pages中調(diào)用JavaBean有三個(gè)標(biāo)準(zhǔn)的標(biāo)簽,那就是$#@60;jsp:useBean$#@62;, $#@60;jsp:setProperty$#@62;,以及$#@60;jsp:getProperty$#@62;。

  $#@60;jsp:useBean$#@62;標(biāo)簽

  $#@60;jsp:useBean$#@62;可以定義一個(gè)具有一定生存范圍以及一個(gè)唯一id的JavaBean的實(shí)例,這樣JavaServer Pages通過(guò)id來(lái)識(shí)別JavaBean,也可以通過(guò)id.method類似的語(yǔ)句來(lái)操作JavaBean。

  在執(zhí)行過(guò)程中,$#@60;jsp:useBean$#@62;首先會(huì)嘗試尋找已經(jīng)存在的具有相同id和scope值的JavaBean實(shí)例,如果沒(méi)有就會(huì)自動(dòng)創(chuàng)建一個(gè)新的實(shí)例。

  其具體語(yǔ)法如下

$#@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;標(biāo)簽中相關(guān)屬性的含義

  屬性及定義

Id
  id屬性是JavaBean對(duì)象的唯一標(biāo)志,代表了一個(gè)JavaBean對(duì)象的實(shí)例。它具有特定的存在范圍(page request session application)。在JavaServer Pages中通過(guò)id來(lái)識(shí)別JavaBean。

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

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

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

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

  $#@60;jsp:setProperty$#@62;標(biāo)簽

  另一個(gè)標(biāo)準(zhǔn)的標(biāo)簽就是$#@60;jsp:setProperty$#@62;標(biāo)簽了,它主要用于設(shè)置bean的屬性值。JavaServer Pages中調(diào)用的語(yǔ)法如下:

  $#@60;jsp:setProperty name=“beanName” last_syntax /$#@62;

  其中,name屬性代表了已經(jīng)存在的并且具有一定生存范圍(scope)的JavaBean實(shí)例。last_syntax代表的語(yǔ)法如下: property=“*”
property=“propertyName”
property=“propertyName” param=“parameterName”
property=“propertyName” value=“propertyValue”

  下面是$#@60;jsp:setProperty$#@62;標(biāo)簽的基本屬性以及含義

  屬性及定義

Name
  Name代表通過(guò)$#@60;jsp:useBean$#@62; 標(biāo)簽定義的JavaBean對(duì)象實(shí)例。

Property
  這是個(gè)很重要的屬性,代表了你想設(shè)置值的屬性property名字。如果使用property=”*”,程序就會(huì)反復(fù)的查找當(dāng)前的ServletRequest所有參數(shù),并且匹配JavaBean中相同名字的屬性property,并通過(guò)JavaBean中屬性的set方法賦值value給這個(gè)屬性。如果value屬性為空,則不會(huì)修改Javabean中的屬性值。

Param
  Param屬性代表了頁(yè)面請(qǐng)求的參數(shù)名字,$#@60;jsp:setProperty$#@62;標(biāo)簽不能同時(shí)使用param和value。

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

  $#@60;jsp:getProperty$#@62;標(biāo)簽

  最后一個(gè)標(biāo)簽就是$#@60;jsp:getProperty$#@62;標(biāo)簽了.它可以得到JavaBean實(shí)例的屬性值,并將他們轉(zhuǎn)換為 java.lang.String, 最后放置在隱含的Out對(duì)象中. JavaBean的實(shí)例必須在$#@60;jsp:getProperty$#@62;前面定義.

  $#@60;jsp:getProperty$#@62;標(biāo)簽的語(yǔ)法如下:

  $#@60;jsp:getProperty name=“name” property=“propertyName” /$#@62;

  下面是$#@60;jsp:getProperty$#@62;標(biāo)簽的基本屬性以及含義

  屬性及定義

Name
  Name屬性代表了想要獲得屬性值的Bean的實(shí)例,Bean實(shí)例必須在前面用$#@60;jsp:useBean$#@62;標(biāo)簽定義.

Property
  Property屬性代表了想要獲得值的那個(gè)property的名字。