->Bean的基本要素:
1.必須要有一個不帶參數的構造器,在jsp元素創建Bean時會調用空構造器
2.Bean類應該沒有任何公共實例變量,也就是說,不允許直接訪問實例變量,通過setter/getter方法讀寫量的值
3.Bean類應該在一個包里,不要使用裸體類
->基本用法:
用法一:(最常用,最簡單的用法)
<jsp:useBean id="beanName" scope="page | request | session | application" class="package.BeanClass" type="typeName" />
用法二:
<jsp:useBean id="beanName" scope="page | request | session | application" class="package.BeanClass" type="typeName" >
<jsp:setProperty name="beanName" property="propertyName" value="propertyValue" />
<jsp:getProperty name="beanName" property="propertyName" />
</jsp:useBean>
例:
有這樣一個JavaBean對象:
package demo;
public class TestBean {
private int count;
public TestBean() {
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
第一種寫法:
<jsp:useBean id="abc" class="demo.TestBean" scope="page" type="java.lang.Object">
<jsp:setProperty name="abc" property="count" value="100" />
<jsp:getProperty name="abc" property="count" />
</jsp:useBean>
第二種寫法:
<%@ page import="demo.*" %>
<%
Object abc = new TestBean();
abc.setCount(100);
abc.getCount();
%>
注:這兩種寫法的作用是相同的,只是一種是標簽式語言,另一種是java語言.
id:實例的變量命
class:包命加上類名
scope:定義作用域,默認為page,相當於局部變量,其他三種均按各自表面意思作用
type:作用類型,上邊兩種寫法是父類引用指向子類對象,也可以將兩種寫法的Object換成TestBean,就變為了一般new實例的形式
property:局部變量命