通过jsp:useBean,可以再jsp中使用定义好的Bean
Bean的基本要素:
必须要有一个不带参数的构造器。在jsp元素创建Bean时会调用空构造器
Bean类应高没有任何公共实例变量,也就是说,不允许直接访问实例变量,变量名称首字母必须小写
通过getter/setter方法来读/写变量的值,并且将对应的变量首字母改成大写
基本用法:
bean必须打包,不能使用裸体类
bean包应该放在classes包里
<jsp:useBean id="beanName" scope="page|request|session|application"
class="package BeanClass" type="typeName"/>
<jsp:useBean...>
<jsp:setProperty...>
<jsp:getProperty...>
</jsp:useBean>
jsp:useBean各项参数含义:
id:对象实例名称
scope:Bean作用的范围,默认为page,对整个jsp页面有效
class:Bean类名称
type:Bean实例类型,可以是本类,或其父类,或实现的接口,默认为本类
Scope各项参数的意义:
page:仅涵盖使用JavaBean的页面
request:有效范围仅限于使用JavaBean的请求
session:有效范围在用户整个连接过程中(整个会话阶段都有效)
application:有效范围涵盖整个应用程序。也就是对整个网站有效
jsp:setProperty的格式
<jsp:setProperty name="beanName"
property="propertyNmae"|property=*
value="property value"|param="paramName"/>
相当于beanName.setPropertyName(value)方法调用(setXxx()方法)
jsp:getProperty的格式:
<jsp:getProperty name="beanName" property="propertyName"/>
相当于beanName.getPropertyName()方法调用(getXxx()方法)
简历表单参数和Bean属性之间的关联
通过param指定表单元素的名称,通过property指定对应的Bean属性名称,由此建立者两个变量的关联
通过*来设置属性和输入参数之间的关联
在建立Bean属性和表单参数之间的对应关系时,服务器会将对应的参数自动转换成和属性类型匹配的数据