->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:局部变量命