javabean簡介:java
javabean是java語言開發的可重用組件,在jsp中使用javabean能夠減小代碼的重複量,使代碼簡潔。express
他的優勢:編程
1.可將HTML和Java代碼分離,這主要是爲了往後維護的方便。若是把全部的程序代碼(HTML和Java)寫到JSP頁面中,會使整個程序代碼又多又複雜,形成往後維護上的困難。session
2.可利用JavaBean的優勢。將平常用到的程序寫成JavaBean組件,當在JSP要使用時,只要調用JavaBean組件來執行用戶所要的功能,不用再重複寫相同的程序,這樣以來也能夠節省開發所需的時間。app
.JavaBean自己就是一個類,屬於Java的面向對象編程。jsp
在JSP中若是要應用JSP提供的Javabean的標籤來操做簡單類的話,則此類必須知足以下的開發要求:對象
(1)全部的類必須放在一個包中,在WEB中沒有包的是不存在的;開發
(2)全部的類必須聲明爲public class,這樣纔可以被外部所訪問;字符串
(3)類中全部的屬性都必須封裝,即:使用private聲明;get
(4)封裝的屬性若是須要被外部所操做,則必須編寫對應的setter、getter方法;
(5)一個JavaBean中至少存在一個無參構造方法,此爲JSP中的標籤所使用。
在jsp中使用javabean;
1:jsp-useBean標籤:
<jsp:useBean>標籤用於在指定的域範圍內查找指定名稱的JavaBean對象,若是存在則直接返回該JavaBean對象的引用,若是不存在則實例化一個新的JavaBean對象並將它以指定的名稱存儲到指定的域範圍中。
經常使用語法:
<jsp:useBean id="beanName" class="package.class" scope="page|request|session|application"/>
"id"屬性用於指定JavaBean實例對象的引用名稱和其存儲在域範圍中的名稱。
"class"屬性用於指定JavaBean的完整類名(即必須帶有包名)。
"scope"屬性用於指定JavaBean實例對象所存儲的域範圍,其取值只能是page、request、session和application等四個值中的一個,其默認值是page。
2.<jsp:setProperty>標籤
<jsp:setProperty>標籤用於設置和訪問JavaBean對象的屬性。
三種語法格式;
語法格式一:
<jsp:setProperty name="beanName" property="propertyName" value="string字符串"/>
語法格式二:
<jsp:setProperty name="beanName" property="propertyName" value="<%= expression %>" />
語法格式三:
<jsp:setProperty name="beanName" property="propertyName" param="parameterName"/>
語法格式四:
<jsp:setProperty name="beanName" property= "*" />
name屬性用於指定JavaBean對象的名稱。
property屬性用於指定JavaBean實例對象的屬性名。
value屬性用於指定JavaBean對象的某個屬性的值,value的值能夠是字符串,也能夠是表達式。爲字符串時,該值會自動轉化爲JavaBean屬性相應的類型,若是value的值是一個表達式,那麼該表達式的計算結果必須與所要設置的JavaBean屬性的類型一致。
param屬性用於將JavaBean實例對象的某個屬性值設置爲一個請求參數值,該屬性值一樣會自動轉換成要設置的JavaBean屬性的類型
<jsp:getProperty>標籤用於讀取JavaBean對象的屬性,也就是調用JavaBean對象的getter方法,而後將讀取的屬性值轉換成字符串後插入進輸出的響應正文中。 語法: <jsp:getProperty name="beanInstanceName" property="PropertyName" /> name屬性用於指定JavaBean實例對象的名稱,其值應與<jsp:useBean>標籤的id屬性值相同。 property屬性用於指定JavaBean實例對象的屬性名。 若是一個JavaBean實例對象的某個屬性的值爲null,那麼,使用<jsp:getProperty>標籤輸出該屬性的結果將是一個內容爲「null」的字符串。