jsp 中javabean的应用

1. <jsp:useBean>标签
<jsp:useBean>标签定位并实例化一个JavaBean。语法如下:
<jsp:useBean id="beanInstanceName"
scope="page|request|session|application"
{
class="package.class"|
type="package.class"|
class="package.class" type="package.class"|
beanName="{package.class|<%= expression %>}"
}
{
/>|
> other elements </jsp:useBean>
}
其中{}括号中用“|”分开的项目是该部分的可选项。
下面详细介绍<jsp:useBean>指令的属性及用法。
(1)id="beanInstanceName"
在id属性中指定的名字为指定范围内JavaBean对象的属性名,在JSP页面内声明为一个Java脚本变量。因为该值是一个脚本变量,大小写敏感,必须符合对标识符的Java命名规则。该值用在<jsp:setProperty>和<jsp:getProperty>行为的name属性中指出行为应用中可能的JavaBean。
(2)scope="page|request|session|application"
scope属性指定bean存在的名空间。它与PageContext对象获得的范围相同。可能值为以下几种。
 page:对当前JSP页面有效,为默认值。
 request:对JSP页面的其余不符和通过<jsp:forward>或<jsp:include>标签服务于此请求的任意其他资源有效。
 session:在任意JSP页面或HTTP会话中的Servlets执行期间有效。
 application:在此Web应用中所有JSP页面或Servlets中有效。
上述范围内的JavaBean均可使用pageContext变量的getAttribute()和setAttribute()方法访问。在request,session或application名空间的JavaBean可以分别在Servlets中使用ServletRequest,HttpSession和ServletContent类的getAttribute()和setAttribute()方法访问。
为了定位或创建一个JavaBean的对象实例,<jsp:useBean>会执行以下步骤,顺序如下。
 通过给定名字和范围试图定位一个JavaBean。
 如果发现了这个JavaBean,将会在id所指的变量中储存这个JavaBean的引用。如果被指定了类型,那么这个JavaBean会被转化为相应的类型。
 如果没有发现这个JavaBean,将会从指定的class实例化一个JavaBean组件,并将生成的JavaBean的引用储存到一个id所指的变量中去。如果这个class的名字代表的是一个模板,那么这个JavaBean被java.beans.Beans.instantiate实例化。
 如果<jsp:useBean>已经实例化了JavaBean,同时<jsp:useBean>与</jsp:useBean>之间有代码,那么将会执行其中的代码。
2. <jsp:setProperty>标签
<jsp:setProperty>标签基于JSP页面中的值设置JavaBean属性值。语法可为下列4种形式的任意一种。
<jsp:setProperty name="name" property="property" value="value"/>

<jsp:setProperty name="name" property="property" param="param"/>

<jsp:setProperty name="name" property="property"/>

<jsp:setProperty name="name" property="*"/>
下面详细介绍<jsp:setProperty>指令的属性及用法。
(1)name="name"
name属性标识其属性应设置的JavaBean。该名字必须作为<jsp:useBean>标签的id属性被指定过。
(2)property="property"|*
一旦标识了特定的JavaBean,则必须指定要设置属性名或属性。这是property属性的任务。该属性可为一属性名或特定值。如果此属性为一名字,那么此JavaBean必须有一个相应的属性设置方法。如果属性为“*”,那么,此JavaBean的设置属性列表与当前请求中的参数列表比较,一旦匹配出现,则使用相应的请求参数调用set方法。
(3)param="param"
当请求参数与JavaBean属性名不同时,可使用<jsp:setProperty>中param属性映射请求参数到JavaBean属性。如果指定了param属性,具有相应名字的参数被设置为在property属性中命名的属性。
(4)value="value"
value属性指定了设置给JavaBean属性的值。如果属性缺省,那么如前所述,使用相应的请求参数值。否则,可以以形式为<%=expression%>的字符串或JSP表达式指定该值。后者的语法成为请求时属性表达式。
3. <jsp:getProperty>标签
可以使用<jsp:getProperty>标签检索JavaBean属性值。形式如下:
<jsp:getProperty name="name" property="property">
这里name是带有相应id属性的JavaBean,property是属性名。属性名必须是一个字母字符串,而非请求时表达式。当<jsp:getProperty>标签在运行时被评估时,相应的JavaBean属性被转换成一个字符串并写入JSP输出流中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值