jsp:useBean beanName

來源:互聯網
上載者:User
<jsp:useBean> 標記的beanName   屬性:指定序列化Bean的名稱
怎麼理解?
最好舉個例子。//===========================================================================================可用於儲存的bean:

package   test;

import   java.io.*;

public   class   FirstSaveBean   implements   Serializable{

private   String   name;

public   FirstSaveBean(){
}

public   String   getName(){
return   name;
}

public   void   setName(String   name){
this.name   =   name;
}

}

相關的jsp頁面:

<%@page   import= "java.io.* "%>
<jsp:useBean   type= "test.FirstSaveBean "   id= "tb "   beanName= "test.FirstSaveBean "/>

<jsp:setProperty   name= "tb "   property= "name "   value= "KillMM "/>
下面開始儲存對象tb到/WEB-INF/classes/test/TT.ser,注意尾碼名。
<%
String   p   =   "/WEB-INF/classes/test/TT.ser ";
p   =   application.getRealPath(p);
FileOutputStream   fos   =   new   FileOutputStream(p);
ObjectOutputStream   oos   =   new   ObjectOutputStream(fos);
oos.writeObject(tb);
oos.close();
%>
開始使用對象tb1從TT.ser中擷取對象。
<jsp:useBean   type= "test.FirstSaveBean "   id= "tb1 "   beanName= "test.TT "/>
<%=tb1.getName()%>//===========================================================================================你是說 <jsp:useBean> 的id屬性?舉例說:

<jsp:useBean   id= "myBean "   class= "MyPackage.MyBean "   scope= "session "/>
這句話大致上相當於
<%
MyPackage.MyBean   myBean   =   new   MyPackage.MyBean();
%>

稍有不同的地方是:最後一個scope屬性決定了Bean的生存期範圍。具體的說,處理這個tag時,如果在指定的scope對象,如這裡的session,那裡找到了同id同類的Bean執行個體,實際上就會在頁面後面的部分使用這個Bean執行個體,如果沒有找到,那麼就會建立一個Bean執行個體,並註冊到指定的scope對象,如這裡的session,供這個scope的其他JSP頁面或者請求使用。

所謂 "序列化Bean的名稱 ",多少翻譯得有點拗口,實際上他想說的是:JavaBean預設是可序列化的,或者說實現了Serializable介面,所以說成是序列化Bean,而這裡這個id屬性就是用來指明這個Bean的名稱的。

明白了嗎?

//=============================================================================================樓上答非所問。。。不過後面部分對序列化Bean的名稱解釋是對的。
相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。