top
Loading...
Jsp+JavaBean循序漸進教程(二)
?b>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的名字。
作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗