JavaBean的詳細及引用
1.JavaBean實際是具有統一接口格式的java類
2.JavaBean的組成:屬性(Properties)、方法(Method)、事件(Events)
3.一個JavaBean的例子(該例子是用的Simple屬性<屬性在以後說>)
package com;//意思是將 FirstBean這個類放道包com中,以便在外部引用。
public class FirstBean
{
private String x;
public FirstBean()
{
//此處爲構造函數
x="This is the first javabean";
}
public void setX()
{
this.x=x;//this 指當前類中的x而不是參數x
}
public String getX()
{
return x;
}
}
4.JavaBean屬性的介紹:
(1)Simple屬性 :伴隨一對 get/set (函數)方法(C語言中稱爲函數,我也習慣成爲函數),如果這麼寫,setString..則暗指該類中有一個string的的屬性(注意:string定義時小寫,在set中首字母要大寫)
(2)Indexed屬性 使用時可以獲得一個數組的整個或者一個值。使用實例如下:
{
private int[]={1,2,3,4,5};
//設置整個數組
public void setB(int[] i)
{
b=i;
}
//設置單個元素的值
public void setB(int a, int b)
{
b[a]=b;
}
//取得整個數組中的值
public int[] getB()
{
return b;
}
//獲取單個值與setB類似,略。
}
4.還有Bound、與Constrained屬性
JspBean在Jsp中的引用:
1.用<jsp:useBean>標記:
<jsp:useBean id="name" class="classname" scope="page|request|session|application"/>
id:代表jsp頁面中的實例對象 通過這個對象引用類中的成員,如,id="wq", wq.成員();
class: 代表JavaBean類,如: class="com.Test",引用com包中的Test類
scope:指明瞭javabean的生存時間
2.用<jsp:setProperty>標記:
功能:將請求頁面中的表單值賦值/或者自己想設置的值 給JavaBean中的屬性賦值
<jsp:setProperty name="beanName" last_syntax />
1.name:表示 已經存在並且具有一定生存範圍的JavaBean實例,例如上面的 wq。
2.last_syntax:表示了四種不同的語法:
(1)property="*" (2)property="propertyName" (3)property="propertyName" param="parameterName" (4)property="propertyName" value="value"
property:是一個很重要的屬性,它指定想要設定值的 JavaBean 中的成員名,不建議使用*。
param:根據我的理解,他是請求頁面的 表單中的 txt 屬性名。
value:代表了直接賦值給 property的屬性
3.<jsp:getProperty>標籤 與<jsp:setProperty>功能相反,用法一樣:
<jsp:getProperty name="BeanName" property="想要獲取屬性值的那個屬性的名字">
JavaBean的生命週期:
1.page:當一個頁面有jsp程序產生並傳送到客戶端時,屬於page範圍內的javabean也將清除,生命週期介紹。
2.request: 它的生命週期與jsp程序的request對象同步。 由forward串聯起來的jsp程序都可以共享 javabean,
僅通過forward就可以把javabean對象傳遞給下一個jsp,一下是一個小例子:
<jsp:forward page="abc.jsp"/> //轉向abc.jsp頁面
<% String str=request.getParameter("strName") %> //jsp中對象的使用,獲取上一個請求頁面中名稱爲 strName的text中的值。
<form name="隨便取一個不與其他重複的名字" method="post" action="接受參數的頁面" target="_self">
<input type="text" name="strName">;
<input type="submit" name="sub" value="提交">
</form>