jsp:useBean用法

來源:互聯網
上載者:User

jsp:useBean動作最簡單的文法為:

<jsp:useBean id="guessBiz" class="biz.GuessBiz" scope="session" />

 這行代碼的含義是:“建立一個由class屬性指定的類的執行個體,然後把它綁定到其名字由id屬性給出的變數上”。

此時,jsp:useBean動作只有在不存在同樣id和scope的Bean時才建立新的對象執行個體。

我們既可以通過jsp:setProperty動作的value屬性直接提供一個值,也可以在Scriptlet中利用id屬性所命名的物件變數,通過調用該對象的方法顯式地修改其屬性(比如:<% guessBiz.setName("name"); %>),也可以通過param屬性聲明Bean的屬性值來自指定的請求參數,還可以列出Bean屬性工作表明它的值應該來自請求參數中的同名變數。

 

屬性用法:  
id  命名引用該Bean的變數。如果能夠找到id和scope相同的Bean執行個體,jsp:useBean動作將使用已有的Bean執行個體而不是建立新的執行個體。  
class  指定Bean的完整包名。  
scope  指定Bean在哪種上下文內可用,可以取下面的四個值之一:page,request,session和application。 
預設值是page,表示該Bean只在當前頁面內可用(儲存在當前頁面的PageContext內)。 
request表示該Bean在當前的客戶請求內有效(儲存在ServletRequest對象內)。 
session表示該Bean對當前HttpSession內的所有頁面都有效。 
最後,如果取值application,則表示該Bean對所有具有相同ServletContext的頁面都有效。 
scope之所以很重要,是因為jsp:useBean只有在不存在具有相同id和scope的對象時才會執行個體化新的對象;如果已有id和scope都相同的對象則直接使用已有的對象,此時jsp:useBean開始標記和結束標記之間的任何內容都將被忽略。 

type  指定引用該對象的變數的類型,它必須是Bean類的名字、超類名字、該類所實現的介面名字之一。請記住變數的名字是由id屬性指定的。  
beanName  指定Bean的名字。如果提供了type屬性和beanName屬性,允許省略class屬性。

 

例子:這是一個猜數的例子

 input.jsp

代碼

 

 

web.xml

 

代碼

 

 

ActionServlet.java

 

代碼
相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.