Jsp + JavaBean循序漸進教程(二)
來源:互聯網
上載者:User
js|教程 JavaBeans 和 JavaServer Pages的結合
通過上面的學習,大家對JavaBean應該有了一個基本的瞭解,對於在JavaServer Pages中調用JavaBeans我們還需要瞭解一些特定的jsp的內容,讓我們來看看吧。
JavaServer Pages中的JavaBean相關標籤
在JavaServer Pages中調用JavaBean有三個標準的標籤,那就是<jsp:useBean>, <jsp:setProperty>,以及<jsp:getProperty>。
<jsp:useBean>標籤
<jsp:useBean>可以定義一個具有一定生存範圍以及一個唯一id的JavaBean的執行個體,這樣JavaServer Pages通過id來識別JavaBean,也可以通過id.method類似的語句來操作JavaBean。
在執行過程中,<jsp:useBean>首先會嘗試尋找已經存在的具有相同id和scope值的JavaBean執行個體,如果沒有就會自動建立一個新的執行個體。
其具體文法如下
<jsp:useBean id=“name”
scope=“page|request|session|application”
typeSpec>
body
</jsp:useBean>
其中,typeSpec定義如下
typeSpec ::=class=“className”
| class=“className” type=“typeName”
| type=“typeName” class=“className”
| beanName=“beanName” type=“typeName”
| type=“typeName” beanName=“beanName”
| type=“typeName”
下面的表格是<jsp:useBean>標籤中相關屬性的含義
屬性及定義
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的instantiate() 方法來初始化。.
Type
Type屬性指定了指令碼變數定義的類型,預設為指令碼變數定義和class中的屬性一致,一般我們都採用預設值
<jsp:setProperty>標籤
另一個標準的標籤就是<jsp:setProperty>標籤了,它主要用於設定bean的屬性值。JavaServer Pages中調用的文法如下:
<jsp:setProperty name=“beanName” last_syntax />
其中,name屬性代表了已經存在的並且具有一定生存範圍(scope)的JavaBean執行個體。last_syntax代表的文法如下: property=“*” |
property=“propertyName” |
property=“propertyName” param=“parameterName” |
property=“propertyName” value=“propertyValue”
下面是<jsp:setProperty>標籤的基本屬性以及含義
屬性及定義
Name
Name代表通過<jsp:useBean> 標籤定義的JavaBean對象執行個體。
Property
這是個很重要的屬性,代表了你想設定值的屬性property名字。如果使用property=”*”,程式就會反覆的尋找當前的ServletRequest所有參數,並且匹配JavaBean中相同名字的屬性property,並通過JavaBean中屬性的set方法賦值value給這個屬性。如果value屬性為空白,則不會修改Javabean中的屬性值。
Param
Param屬性代表了頁面請求的參數名字,<jsp:setProperty>標籤不能同時使用param和value。
Value
Value屬性代表了賦給Bean的屬性property的具體值。
<jsp:getProperty>標籤
最後一個標籤就是<jsp:getProperty>標籤了.它可以得到JavaBean執行個體的屬性值,並將他們轉換為 java.lang.String, 最後放置在隱含的Out對象中. JavaBean的執行個體必須在<jsp:getProperty>前面定義.
<jsp:getProperty>標籤的文法如下:
<jsp:getProperty name=“name” property=“propertyName” />
下面是<jsp:getProperty>標籤的基本屬性以及含義
屬性及定義
Name
Name屬性代表了想要獲得屬性值的Bean的執行個體,Bean執行個體必須在前面用<jsp:useBean>標籤定義.
Property
Property屬性代表了想要獲得值的那個property的名字。