JavaBean简介
JavaBean是一种可重用的软件组件。
一个JavaBean具有以下标准:
- 实现java.io.Serializable接口
- 必须是一个公共的类。
- 一个公开的无参的构造。
- getXxx和setXxx方法。
在JSP中访问JavaBean的语法
1、声明JavaBean对像-必须使用完整类名:
- <jsp:useBean id=“someBean” class=“package.SomeBean” scope=“page”/>
以上声明相当于:
- SomeBean someBean = new SomeBean();
- pageContext.setAttribute(“someBean”,someBean);
- scope的可选值为:page|request|session|application
需要说明的是:一般情况下,我们保留<jsp:useBean/>的body部分为空,如果不为空,则只有初始化此Bean时执行,如:
<jsp:useBean id=“person” class=“cn.Person”>
这是body部分,只会在初始化时执行一次
</jsp:userBean>
2、访问JavaBean的属性:
- <jsp:setProperty name=“someBean” property=“name” value=“Tom”/>
- <jsp:getProperty name=“someBean” property=“name”/>
- 也可以在页面上使用Java代码直接访问它的属性和其他方法。
JavaBean的范围
- JavaBean的scope属性决定的Bean的范围,默认为page范围。
- 当声明了一个Bean并将它放到某个范畴之后,在同一个范围内再次使用<jsp:useBean../>将不再创建。而是直接给你返回已经创建过的Bean的实例。此过程可以通过查看容器翻译的源代码得知。
提供字符串到int类型的转换
通过param属性给JavaBean赋值
- JavaBean可以接收用户通过参数提交的数值,并直接封装到JavaBean中。
- 以下JavaBean的属性全部为String类型。
- 以下接收用户的三个参数直接赋值:注意保持与参数指定的名相同
<jsp:useBean id="person" class="cn.hncu.domain.Person"></jsp:useBean>
<jsp:setProperty property="name" param="name" name="person"/>
<jsp:setProperty property="age" param="age" name="person"/>
<jsp:setProperty property="birthDay" param="birthday" name="person"/>
<hr/>
<%=person %>
一次设置全部属性
注意:一次设置全部的参数,其内部通过反射加以实现,所以,在你向Bean传递参数时,必须与JavaBean的属性名高度一致。
<jsp:useBean id="person" class="cn.itcast.Person"></jsp:useBean>
<jsp:setProperty property=“*” name=“person”/> <!– 注意不能使用param - ->