java bean 和jsp_JSP和JavaBean介绍

JSP和JavaBean介绍。

JavaBean组件本质上就是一个类,只不过这个类需要遵循一些编码的约定。在JSP页面中,既可以像使用普通类一样实例化JavaBean类的对象,调用它的方法,还可以利用JSP技术中提供的动作元素来访问JavaBean。

一个标准的JavaBean组件具有以下几个特性:

(1)它是一个公开的(public)类

(2)它有一个默认的构造方法,也就是不带参数的构造方法(在实例化JavaBean对象时,需要调用默认的构造方法)。

(3)它提供setXXX()方法和getXXX()方法来让外部程序设置和获取JavaBean的属性。如setName(),getName()方法等

在JSP中可以像使用普通类一样访问JavaBean,在脚本元素中实例化类的对象,调用对象的方法。

动作用于实例化JavaBean,或者定位一个已经存在的JavaBean实例,并把实例的引用赋给一个变量。

id用于标识JavaBean实例的名字,同时,该名字也是声明脚本变量的名字,并被初始化为JavaBean实例的引用。

scope指定一个范围,在这个范围内,JavaBean实例的引用是可用的,实际上也是指定JavaBean实例的生命周期。可能的取值有:page、request、session和application,默认的是page

class指定JavaBean对象的完整的限定类名

beanName指定Bean的名字。该名字被提供给java.beans.Beans类的instantiate()方法,来实例化一个JavaBean。

type指定定义的脚本变量的类型。

动作行为:

(1)JSP容器在元素指定的范围中查找指定id的JavaBean对象。

(2)如果找到对应的对象,并且在元素中指定了type属性,那么JSP容器会试图把找到的对象转换为指定的type。

(3)如果没有在指定的范围中找到对象,并且在元素中没有指定了class或者beanName属性,则会抛出异常。

(4)如果没有在指定的范围内找到对象,并且在元素中指定了class属性,则利用这个类创建一个新的对象,将这个对象的引用赋值给由属性id所指定的名字的变量,并将这个对象保存到属性scope指定的范围中。

(5)如果没有在指定的范围内找到对象,并且在元素中执行了beanName属性,则用beanName作为参数调用java.beans.Beans类中的instantiate()方法。如果这个方法执行成功了,则把这个新创建的对象的引用赋值给由属性id所指定的名字的变量,并将这个对象保存到属性scope指定的范围中。

动作和一起使用,用了设置JavaBean的简单属性和索引属性。动作使用Bean中的setXXX()方法,在Bean中设置一个或多个属性值。在JSP中,经常使用动作元素将客户端提交的数据保存到JavaBean的属性中。

name,Bean实例的名字,它必须是已经在元素中通过id属性定义的名字。Bean的实例必须包含可写(具有setXXX()方法)的属性。

property被设置的属性的名字,如果property属性的值是“*”,标签就会在请求对象中查找索引的请求参数,看是否有参数的名字和Bean属性的名字相同,如果找到匹配的参数和属性,就会按照正确的类型(自动进行类型转换)将参数的值设置为属性的值,如果一个参数的值为空(“”),对应的属性的值不会被修改。

param指定请求对象中参数的名字。在设置Bean的属性时,如果请求参数的名字和Bean属性的名字不同,可以用param来指定参数的名字。如果没有使用param,那么就认为请求参数的名字和Bean属性的名字相同。在元素中,不能同时出现param和value属性。

value指定要赋给Bean属性的值,可以用一个请求时属性表达式作为value属性的值。

动作用来访问一个Bean的属性,并把属性的值转化成一个String,然后发送到输出流中,如果属性是一个对象,将调用该对象的toString()方法。

在编写JavaBean的时候,必须为JavaBean指定一个包名,否则JSP将无法调用JavaBean;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值