JSP - 可重用组件JavaBean

本文介绍了JavaBean的概念及特点,包括其实现序列化、使用无参构造器、提供getXxx()和setXxx()方法等。此外,还详细阐述了JavaBean在JSP中的应用,包括如何生成实例、为属性赋值以及获取实例属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 JavaBean 介绍

1.1 定义:

在一个应用里面可以被重用和组合的 java 类。

1.2 Javabean 的特点:

1)实现了可序列化(可以通过网络交换到磁盘文件中)

2)无参的构造器

3)有属性,并且为属性提供 getXxx() setXxx ()方法。(如果是 boolean 类型的属性还可以提供

isXxx()

注意:getXxx () 、set()Xxx方法不是必须的,但是如果想要在 JSP 页面中可以为这些属性赋值的话就必须在 JavaBean 中提供 setXxx () 方法,如果想到这些属性则必须在 JavaBean 中提供 getXxx () 方法。如果不提供 getXxx ()、set()Xxx 方法,则其只能称为成员变量,而不能称为 JavaBean 的属性。

4)可以作为事件源,通过事件与别的组件沟通。

2 JavaBean JSP 中的应用:

2.1 在页面中生成实例:

<jsp: useBean id=”user” class=”com.tarena.User” scope=”session”/>

创建或查找指定类型( class 属性所指定的)( scope 属性指定的范围中[属性] ) 一个 JavaBean 对象(必须有缺省的构造器)。属性名称为 id 属性的值,同时该动作声明了一个名字为 game 的临时变量。

id : 实例的名字

class : 这个类字节码文件存放的位置,还可以用 type 代替。

scope: 实例生效的范围,缺省的是 page 范围。

注意:两者的差别

class:如果对象在 scope范围内不存在:创建新的对象,并且以 id 属性的值为属性名称保存 scope 属性所指定的范围的属性中,只能是具体类。

type: 如果这个范围内没有实例,不创建新的对象,抛出异常,可以是接口。

2.2 为属性赋值:

<jsp: setProperty name=”beanName” property =”propertyName” param=”paramName”/>

设置某个 JavaBean 中某个属性的值(调用某个 JavaBean set 方法)

name: 实例的名字,与 jsp:useBean 中的 id 相对应

property: 属性的名字(要求 JavaBean 必须有该属性的 set 方法)

param: 用表单中指定的参数来为 JavaBean 属性赋值

value:将 value 中的值赋给 JavaBean 中的属性。

<jsp: setProperty name=”beanName” property =”*” >

所有的属性都与表单里面提交的名字相同,找到相同的就赋值,找不到就什么也不做

<jsp:setProperty name=“beanName” property=“propName” value=“string constant/> 固定值

<jsp:setProperty name=beanName property=propName param=paramName/> 定参数名

<jsp:setProperty name=beanName property=propName/> 和属性名相同的参数

<jsp:setProperty name=beanName property=*/> 所有的同名参数

<jsp:setProperty name= “beanName” property= “propName” value= “<%=expression%>”/>

用表达式的,明确指定

2.3 取得实例的属性:

<jsp: getProperty name=beanName property =propName >

取得实例的一个属性,返回值都为字符串的形式

<%=numguess.getHint()%>

多用这个表达式,上面的命名必须符合 set/get 要求

2.4 注意:

<jsp:useBean id=”user” class=”com.bean.User” scope=”session”>

<jsp:setProperty name=”user” property=”*” />

</jsp:useBean>

jsp:setProperty 写在 jsp:useBean 中时,请求范围时,不会出错;但在会话范围时,会出错,setProperty 只会在 javabean 被创建时,才会调用,只是查找到时,setProperty 会被调。

在开发时,一定要将 jsp:setProperty 放在外面。

<jsp:useBean id=”user” class=”com.bean.User” scope=”session”/>

<jsp:setProperty name=”user” property=”*” />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值