?? 14.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0042)http://www.aspcn.com/showarticle.asp?id=90 -->
<HTML><HEAD><TITLE>jsp點</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR><LINK
href="14.files/aspcn.css" rel=stylesheet type=text/css></HEAD>
<BODY>
<table border=0 width="100%">
<tbody>
<tr>
<td>14<br>
<h2 align=center><jsp:useBean></h2>
<p>創建一個Bean實例并指定它的名字和作用范圍. </p>
<a name=9348></a>
<h4>JSP 語法</h4>
<blockquote><jsp:useBean <br>
id="<em>beanInstanceName</em>" <br>
scope="<strong>page</strong> | request | session
| application" <br>
{ <br>
class="<em>package.class</em>"
| <br>
type="<em>package.class</em>"
| <br>
class="<em>package.class</em>"
type="<em>package.class</em>" | <br>
beanName="{<em>package.class</em><em>
</em>|<em> </em><%= <em>expression</em> %>}" type="<em>package.class</em>"
<br>
} <br>
{ <br>
/> | <br>
> <em>other elements </em></jsp:useBean>
<br>
} </blockquote>
<a name=16474></a>
<h4>例子</h4>
<blockquote><jsp:useBean id="cart" scope="session" class="session.Carts"
/> <br>
<jsp:setProperty name="cart" property="*" />
<p><jsp:useBean id="checking" scope="session" class="bank.Checking"
> <br>
<jsp:setProperty name="checking" property="balance" value="0.0" />
<br>
</jsp:useBean> </p>
</blockquote>
<a name=9356></a>
<h4>描述</h4>
<p><jsp:useBean>用于定位或示例一個JavaBeans組件。<jsp:useBean>首先會試圖定位一個Bean實例,如果這個Bean不存在,那么<jsp:useBean>就會從一個class或模版中進行示例。
</p>
<p>為了定位或示例一個Bean,<jsp:useBean>會進行以下步聚,順序如下: </p>
<ol>
<a name=9817></a>
<li>通過給定名字和范圍試圖定位一個Bean.
<li>對這個Bean對象引用變量以你指定的名字命名.
<li>如果發現了這個Bean,將會在這個變量中儲存這個引用。如果你也指定了類型,那么這個Bean也設置為相應的類型.
<li>如果沒有發現這個Bean,將會從你指定的class中示例,并將此引用儲存到一個新的變量中去。如果這個class的名字代表的是一個模版,那么這個Bean被<code>java.beans.Beans.instantiate示例.</code>
<li>如果<jsp:useBean>已經示例(不是定位)了Bean,同時<jsp:useBean>和</jsp:useBean>中有元素,那么將會執行其中的代碼.
</li>
</ol>
<p><jsp:useBean>元素的主體通常包含有<jsp:setProperty>元素,用于設置Bean的屬性值。正如上面第五步所說的,<jsp:useBean>的主體僅僅只有在<jsp:useBean>示例Bean時才會被執行,如果這個Bean已經存在,<jsp:useBean>能夠定位它,那么主體中的內容將不會起作用
</p>
<a name=10963></a>
<h4>屬性以及用法</h4>
<ul>
<a name=10964></a>
<li>id="<em>beanInstanceName</em>"
<p>在你所定義的范圍中確認Bean的變量,你能在后面的程序中使用此變量名來分辨不同的Bean </p>
<p>這個變量名對大小寫敏感,必須符合你所使用的腳本語言的規定,在Java Programming Language中,這個規定在Java
Language 規范已經寫明。如果這個Bean已經在別的<jsp:useBean>中創建,那么這個id的值必須與原來的那個id值一致.
</p>
<a name=10966></a>
<li>scope="<strong>page</strong> | request | session | application"
<p>Bean存在的范圍以及id變量名的有效范圍。缺省值是page,以下是詳細說明: </p>
<p>
<ul>
<li>page - 你能在包含<jsp:useBean>元素的JSP文件以及此文件中的所有靜態包含文件中使用Bean,直到頁面執行完畢向客戶端發回響應或轉到另一個文件為止。
<p> </p>
<li>request - 你在任何執行相同請求的Jsp文件中使用Bean,直到頁面執行完畢向客戶端發回響應或轉到另一個文件為止。你能夠使用Request對象訪問Bean,比如<code>request.getAttribute(</code><em>beanInstanceName</em><code>)</code>
<p> </p>
<li>session - 從創建Bean開始,你就能在任何使用相同session的Jsp文件中使用Bean.這個Bean存在于整個Session生存周期內,任何在分享此Session的Jsp文件都能使用同一Bean.注意在你創建Bean的Jsp文件中<%
@ page %>指令中必須指定session=true
<p> </p>
<li>application - 從創建Bean開始,你就能在任何使用相同application的Jsp文件中使用Bean.這個Bean存在于整個application生存周期內,任何在分享此application的Jsp文件都能使用同一Bean.
</li>
</ul>
<li>class="<em>package.class</em>"
<p>使用new關鍵字以及class構造器從一個class中示例一個bean.這個class不能是抽象的,必須有一個公用的,沒有參數的構造器.這個package的名字區別大小寫。
</p>
<a name=19433></a>
<li>type="<em>package.class</em>"
<p>如果這個Bean已經在指定的范圍中存在,那么寫這個Bean一個新的數據庫類型 。如果你沒有使用class或beanName指定type,Bean將不會被示例.package和class的名字,區分大小寫.
</p>
<li>beanName="{<em>package.class</em> | <%= <em>expression</em> %>}"
type="<em>package.class</em>"
<p>使用java.beans.Beans.instantiate方法來從一個class或連續模版中示例一個Bean,同時指定Bean的類型。
</p>
<p>beanName可以是package和class也可以是表達式,它的值會傳給Beans.instantiate.tupe的值可以和Bean相同。
</p>
<p> package 和 class 名字區分大小寫.</p>
</li>
</ul>
</td>
</tr>
<tr>
<td>所有文章來自<font color=red>http://www.aspcn.com ASP中華網</font>如要轉載請注明出處,謝謝</td>
</tr>
</tbody>
</table>
</BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -