什么是 JavaBean ?(Java豆)
在 JSP 中 使用 JavaBean。
三个标签:
1 | <jsp:useBean id="JavaBean的标识符" class="JavaBean的全类名" scope="作用范围"></jsp:useBean> |
1. JavaBean
用作 JavaBean 的类的要求:
- ① 必须有一个公共的、无参的构造方法(利用 反射 创建该类的对象时必须的)
- ② JavaBean 的属性以方法定义的形式出现
- ③ 对属性赋值的方法称为属性修改器或 setter 方法,获取属性值的方法称为属性访问器或 getter 方法
- ④ userName 的 setter 方法名为:setUserName,password 的 getter 方法名为 getPassword
- ⑤ JavaBean 的属性名根据 getter 和 setter 方法名生成,方法名去掉”get“或”set“,剩余部分首字母小写即为属性名
以下就是一个典型的 JavaBean 类:
1 | package com.crd.design.domain; |
2. JSP中应用 JavaBean
对于 JSP 页面来说,只要是一个类有一个公共的、无参的构造方法,该类就可以用作创建 JavaBean 对象。该类中不接受任何参数的 getter 方法和 只接受一个参数的 setter 方法,都可以当作该类对象的属性名来引用。
A.相关标签
标签 | 作用 |
---|---|
<jsp:useBean> | 创建和查找 JavaBean 实例对象 |
<jsp:setProperty> | 设置 JavaBean 对象的属性 |
<jsp:getProperty> | 读取 JavaBean 对象的属性 |
B.<jsp:useBean>
<jsp:useBean>用法:
用于在某个指定(scope属性指定)的域范围(application、session、request、pageContext等)内查找一个指定(id属性指定)名称的 JavaBean 对象,若查到则返回该对象的引用,若不存在则实例化一个新的 JavaBean 对象(class属性指定)并将它存进 scope 属性 指定的域范围内。
语法:
1 | <jsp:useBean id="beanInstanceName" class="package.class" scope="page|request|session|application"></jsp:useBean> |
另一种用法:(此时返回的bean是Object类型的对象)
1 | <jsp:useBean id="beanInstanceName" beanName="package.class" type="java.lang.Object" scope="page|request|session|application"></jsp:useBean> |
1 | <jsp:useBean id="user" class="com.crd.design.domain.User" scope="session"></jsp:useBean> |
C.<jsp:setProperty>
<jsp:setProperty>用法:
给指定(name属性指定)的 JavaBean 对象的 指定(property属性指定)属性 赋指定(value属性指定)的属性值。
语法:
1 | <jsp:setProperty property="属性名" value="属性值" name="id指定的bean对象" /> |
1 | <jsp:useBean id="user" class="com.crd.design.domain.User" scope="session"></jsp:useBean> |
setProperty 的特殊用法:
若 property 属性值为 ”*“,省略 value 属性,则会自动为对应 JavaBean 对象的所有属性赋值为对应的请求参数的值。
1 | <%--例:请求参数为 ?userName="crainyday"&userId=12&userPassword="crainyday"--%> |
D.<jsp:getProperty>
<jsp:getProperty>用法:
获取指定(name属性指定)的 JavaBean 对象的 指定(property属性指定)属性 的属性值。
语法:
1 | <jsp:getProperty property="属性名" name="id指定的bean对象" /> |
1 | <jsp:useBean id="user" class="com.crd.design.domain.User" scope="session"></jsp:useBean> |
3.利用eclipse快速开发JavaBean
- ①新建类并创建 JavaBean 的私有属性。
- ②在该类中右键单击,然后点击源码,再点击生成 Getter 和 Setter 方法,选择要生成方法的字段即可生成对应的 Getter、Setter方法。
-
③同步骤②,也可以由字段生成该类的构造方法,一定要一个公共的、无参的构造方法。
-
④同步骤②,也可以覆盖该类的 toString 方法,用于之后测试 JavaBean。