JSP JAVABean

目录

5.1 编写和使用javaBean

5.2获取和修改Bean

5.3bean的辅助类

5.1 编写和使用javaBean

JavaBean及其使用
在JSP页面中混合了Java代码和HTML代码(模板数据),使得Java代码的独立性降低。将Java代码独立开发的一个方法是使用JavaBean技术。
JavaBean是遵循以下编码规范的Java类:
    必须是public类
    构造方法不能带有任何参数
    对所有属性(即成员变量)都需要提供setXXX()和getXXX()或isXXX()方法,其中XXX为属性变量名。

JavaBean的使用:JSP操作元素:
<jsp:useBean>操作元素用于实例化JavaBean对象,并设置相关参数,格式为:
<jsp:useBeanid=“beanId”class=“classPath”[scope=“beanScope”] [type=“beanType”] [beanname=“beanName”] />其中,beanId是对象名,classPath是完整的类名,beanScope是对象的作用域(见3.4.2节)例如,<jsp:useBeanid=“user”class= “mybeans.SimpleBean”/>指令可以在当前页面内创建一个SimpleBean的实例user对象。下一步可以设置或读取它的属性,也可以调用相关方法。
<jsp:setProperty>操作元素设置JavaBean属性,格式为:
<jsp:setPropertyname=“beanId"
property="*" |
property=“pName" |
property=“pName" value= “pValue" |
property=“pName" param=“paramName"/>
例如,在上面的例子中使用<jsp:useBean>元素后可继续使用如下<jsp:setProperty>元素:
<jsp:setPropertyname=“user”property=“name”value=“ABC”/>
<jsp:setProperty>操作元素中:
    beanId是<jsp:useBean>中的beanId
    pName是与JavaBean类对应的某一个属性名
    paramName是设置某个属性的form参数名称
    pValue是设置某个属性的具体值,不能与param同时使用
    如果pName用*,代表所有属性,此时不能用param和value内容
    如果没有指定属性值,将自动取Web标单中同名的输入内容值。
JavaBean的使用:JSP操作元素
<jsp:getProperty>用于读取并向浏览器输出某个属性值,格式为:
<jsp:getPropertyname=“beanId”property=“propertyName”/>
例如,在上面的例子中使用<jsp:useBean>和<jsp:setProperty>元素后可继续使用如下<jsp:getProperty>元素:
<jsp:getPropertyname="user" property="name" />
另外, 可以在表达式和脚本中用beanId.方法名([参数])格式调用JavaBean的普通方法

 1 package gacl.javabean.study;
 2 
 3 /**
 4  * @author gacl
 5  * Person类就是一个最简单的JavaBean
 6  */
 7 public class Person {
 8 
 9     //------------------Person类封装的私有属性---------------------------------------
10     // 姓名 String类型
11     private String name;
12     // 性别 String类型
13     private String sex;
14     // 年龄 int类型
15     private int age;
16     //是否已婚 boolean类型
17     private boolean married;
18     //---------------------------------------------------------
19     
20     //------------------Person类的无参数构造方法---------------------------------------
21     /**
22      * 无参数构造方法
23      */
24     public Person() {
25         
26     }
27     //---------------------------------------------------------
28     
29     //------------------Person类对外提供的用于访问私有属性的public方法---------------------------------------
30     public String getName() {
31         return name;
32     }
33 
34     public void setName(String name) {
35         this.name = name;
36     }
37 
38     public String getSex() {
39         return sex;
40     }
41 
42     public void setSex(String sex) {
43         this.sex = sex;
44     }
45 
46     public int getAge() {
47         return age;
48     }
49 
50     public void setAge(int age) {
51         this.age = age;
52     }
53 
54     public boolean isMarried() {
55         return married;
56     }
57 
58     public void setMarried(boolean married) {
59         this.married = married;
60     }
61     //---------------------------------------------------------
62 }

5.2获取和修改Bean

JavaBean是一种符合一定规范的Java类,通常用于封装数据和提供对数据访问的方法。获取和修改JavaBean中的数据,可以通过调用Getter和Setter方法来实现。

例如,一个名为Person的JavaBean类,包含属性name和age:

public class Person {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

要获取Person类的name属性,可以调用getName()方法:

Person person = new Person();
String name = person.getName();

要修改Person类的name属性,可以调用setName()方法:

Person person = new Person();
person.setName("John");

同样的,要获取age属性和修改age属性,可以调用getAge()和setAge()方法。注意,在访问或修改JavaBean的私有属性时,必须使用Getter和Setter方法。

5.3bean的辅助类

Bean辅助类是用于简化JavaBean操作的工具类。它提供了一些常用的方法,例如将JavaBean转换为Map、将Map转换为JavaBean、对JavaBean进行属性复制等。

常见的Bean辅助类有:

1. Apache Commons BeanUtils:可以方便地对JavaBean进行属性的读取、写入和复制等操作。例如,可以通过BeanUtils.describe(Object obj)方法将JavaBean对象转换成Map<String, String>类型的对象。

2. Spring框架的BeanUtils:使用方式类似于Apache Commons BeanUtils,可以方便地对JavaBean进行属性的读取、写入和复制等操作。其中,BeanUtils.copyProperties(Object source, Object target)方法可以将源对象的属性复制到目标对象中。

3. Dozer Mapper:是一个开源的JavaBean映射框架,可以将一个JavaBean的属性值映射到另一个JavaBean中。它可以完成类型转换、复杂对象的映射、数据转换等操作。

这些Bean辅助类可以大大简化Java开发中对JavaBean的操作,提高开发效率。但需要注意,使用这些工具类时需要仔细阅读文档,了解其语法、语义和限制,以免出现不必要的错误。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值