JSP与JavaBeans

1. 使用 beans

为了在JSP 页面中使用benas,我们必须使用JSP 动作标签:useBean

useBean 格式:

<jsp:useBean id= “给bean 起的名字” class= “创建beans 的类”scope= “bean 有效范围”></jsp:useBean>

当服务器上某个含有 useBean 动作标签的JSP 页面被加载执行时,JSP 引擎将首先根据id 的名字,在一个同步块中,查找JSP 引擎内置pageContent 对象中是否含有名字id 和作用域scope 的对象,如果这个对象存在,JSP 引擎就分配一个这样的对象给客户,如果在pageContent 中没有查找到指定作用域、名字是id 的对象,就根据class指定的类创建一个名字是id 对象,即创建了一个名字是id 的beans,并添加到pageContent 内置对象中,并指定该beans 的作用域是scope,同时JSP 引擎分配给客户一个作用域是scope、名字是id 的beans。

useBean 标签中scope 取值的不同情况阐述如下:

scope 取值page

JSP 引擎分配给每个客户的beans 是互不相同的,也就是说,尽管每个客户的beans 的功能相同,但它们占有不同的内存空间。该beans的有效范围是当前页面,当客户离开这个页面时,JSP 引擎取消分配给该客户的beans。

scope 取值session

JSP 引擎分配给每个客户的beans 是互不相同的,该beans 的有效范围是客户的会话期间,也就是说,如果客户在多个页面中相互连接,每个页面都含有一个useBeans 标签,这些useBean 标签中id 的值相同,并且scope 的值都是session,那么,该客户在这些页面得到的beans 是相同的一个。如果客户在某个页面更改了这个beans 的属性,其它页面的这个beans 的属性也将发生同样的变化。当客户关闭浏览器时,JSP 引擎取消分配给客户的beans。

scope 取值request

JSP 引擎分配给每个客户的beans 是互不相同的,该beans 的有效范围是request 期间。客户在网站的访问期间可能请求过多个页面,如果这些页面含有socope 取值是request 的useBeans 标签,那么pageCotent 对象在每个页面分配给客户的beans 也是互不相同的。JSP引擎对请求作出响应之后,取消分配给客户的这个beans。

scope 取值application

JSP 引擎为每个客户分配一个共享的beans,也就是说,所有客户共享这个beans,如果一个客户改变这个beans 的某个属性的值,那么所有客户的这个beans 的属性值都发生了变化。这个beans 直到服务器关闭才被取消。

注:当使用作用域是session 的beans 时,要保证客户端支持Cookie.

为了使服务器的所有web 服务目录下的JSP 页面文件都能使用我们的beans,我们必须将上面编译通过生成的字节码类文件:Circle.class 拷贝到JSP 引擎的classes 文件夹下, 即D:tomcat\Jakarta-tomcat-4.0\classes 下,另外,在使用 beans 的JSP 页面中,必须有如下的import 指令:<@page import= “Circle”> 如果想让某个 beans 只对examples 目录下的JSP 页面可用,那么创建该beans 的字节码文件需存放在webapps/example/Web-inf/classes目录中,

2.获取和修改 beans 的属性

当我们使用useBean 动作标签创建一个beans 后,在java 程序片中这个beans 就可以调用方法产生行为,比如修改属性。获取或修改beans 的属性还可以使用动作标签getProperty、setProperty

2.1getProperty 动作标签

使用该标签可以获得beans 的属性值,并将这个值用串的形式显示给客户

getProperty 动作标签:

<jsp:getProperty name= “beans 的名字” property= “beans 的属性” /></jsp:getProperty>

其中,name 取值是beans 的名字,用来指定要获取哪个beans 的属性的值;property 取值是该beans 的一个属性的名字。该指令的作用相当于在程序片中使用beans 调用getXxx()方法。

2.2 setProperty 动作标签

使用该标签可以设置beans 的属性值。

setProperty 动作标签可以通过3 种方式设置beans 属性的值。

(1)将benas 属性的值设置为一个表达式的值或字符串。

本栏目更多精彩内容:http://www.bianceng.cn/webkf/JSP/

benas 属性的值设置为一个表达式的值:<jsp:setProperty name=“beans 的名字” property= “beans 的属性” value= “<%=expression%>” />

benas 属性的值设置为一个字符串:<jsp:setProperty name=“beans 的名字” property= “beans 的属性”  value=字符串 />

(2)使用setProperty 设置beans 属性值的第2 种方式是:

通过HTTP 表单的参数的值来设置beans 的相应属性的值,要求表单参数名字必须与beans 属性的名字相同,JSP 引擎会自动将字符串转换为beans 属性的类型。

<jsp:setProperty name= "beans 的名字" property="*" />

该标签不用再具体指定 beans 属性的值将对应表单中哪个参数指定的值,系统会自动根据名字进行般配对应。

(3)使用setProperty 设置beans 属性值的第3 种方式是:

通过request 的参数的值来设置beans 的相应属性的值,要求request 参数名字必须与beans 属性的名字相同,JSP 引擎会自动将request 获取的

字符串数据类型转换为beans 相应的属性的类型。

<jsp:setProperty name= "beans 的名字" property=" 属性名" param= “参数名” />

注:需要注意的是,只有提交了和该beans 相对应的表单后,该指令标签才被执行。

注:不能在<jsp:setProperty>中同时使用value 和param。

时间: 2024-09-26 08:46:02

JSP与JavaBeans的相关文章

也谈JSP与XML的交互

js|xml|交互 使用JavaServer Pages有三种不同的方法用于处理XML文档,每种方法都有利于提高分离页面代码与XML数据的水平,有利于简化开发网页的复杂度并且改善提高组件与页面代码的可重用性. JavaServer Pages ( JSP)和XML是Sun的J2EE的两个至关紧要的组件. JSP是用于创建应用程序服务器端程序的有效工具,而客户可以是一个浏览器,一个设备或其它的应用程序. 你可以使用XML描述数据并在联系服务器与系统的其余部分之间传递. 如果你仔细考虑Web服务的抽

使用JSP和XML进行Web应用开发

js|web|xml 如果你曾经开发过基于通用网关接口(Common Gateway Interface, CGI)和Servlets技术的Web应用,你已经习惯于在一个程序中生成整个页面(静态和动态部分)的Web编程思想.如果你想找到一个解决方案,把静态和动态两部分隔开,不要再找了,JSP就在这里. JSP页面允许你把前端的表现和业务逻辑(中间层次和后端层次)分开.它是非常好的Web应用快速应用开发(RAD)途径.本系列文章是一部初步教程,讲解如何为今天和明天的市场开发现代Web应用.本文是这

构造JSP/Javabean开发和发布环境的方法

以Java为基础的J2EE是最新的电子商务解决方案,其复杂性和开发工具系统的昂贵也使不少人却步.在实际项目应用中,真正需要完全使用J2EE方案的并不多,面对中小型企业电子商务应用,下列组合足够对付:Jsp/servlet + Javabeans(taglib) + MySQL(XML) 在具体实现方面,Linux+Tomcat+JDK +MySQL组合经过证明是稳定而快速且成本低廉,希望在众多中小系统中,凭借开源(Open Source)的力量,Java将依然立于不败之地. 如何构造一个简单的J

JAVA高级:基于JSP的动态网站开发技术

js|动态|高级 动态网站开发技术 早期的动态网站开发技术使用的是CGI-BIN接口.开发人员编写与接口相关的单独的程序和基于Web的应用程序,后者通过Web服务器来调用前者.这种开发技术存在着严重的扩展性问题--每一个新的CGI程序要求在服务器上新增一个进程.如果多个用户并发地访问该程序,这些进程将耗尽该Web服务器所有的可用资源,直至其崩溃. 为克服这一弊端,微软公司提出了Active  Server  Pages(ASP)技术,该技术利用"插件"和API简化了Web应用程序的开发

谈JSP与XML的交互

js|xml|交互 使用JavaServer Pages有三种不同的方法用于处理XML文档,每种方法都有利于提高分离页面代码与XML数据的水平,有利于简化开发网页的复杂度并且改善提高组件与页面代码的可重用性. JavaServer Pages ( JSP)和XML是Sun的J2EE的两个至关紧要的组件. JSP是用于创建应用程序服务器端程序的有效工具,而客户可以是一个浏览器,一个设备或其它的应用程序. 你可以使用XML描述数据并在联系服务器与系统的其余部分之间传递. 如果你仔细考虑Web服务的抽

在JSP中使用JavaMail邮件发送收取

js     你希望在jsp中建立一个邮件发送收取工具吗?下面将介绍的就是在jsp中建立一个邮件发送收取工具.在这篇文章中你可以了解到JavaMail API的一些要点以及如何在JSP中使用它.本文中还包括了在JSP中使用JavaMail的实例.JavaMail是JSP应用软件中相当强大的API. 阅读这篇文章需要对JSP.JavaBeans和JavaMail有一定的初步了解.当然,有关于JavaMail的知识你可以通过阅读这篇文章来获得.如果你对于以上三项一无所知,但你所使用的服务器支持JSP

JSP Insider 5: 在JSP中使用JavaMail--1

js 你对用JSP来构造邮件工具感兴趣吗?如果是的,那你就来对了地方.本教程将演示邮件工具后面的所隐藏的基本概念,包括搜集email数据的HTML代码,JavaMail API的几个重要特性,以及如何把这些特性集成到JSP中.这个JavaMail的初级教程包括一个在JSP下成功地实现 JavaMail的例子,一旦掌握之后,JavaMail就成为JSP应用程序中的一个功能强大的API工具. 学习本教程需具有JSP .JavaBeans和JavaMail API的初步知识,如果你打算了解JSP或者J

在JSP中使用JavaMail

js 你希望在jsp中建立一个邮件发送收取工具吗?下面将介绍的就是在jsp中建立一个邮件发送收取工具.在这篇文章中你可以了解到JavaMail API的一些要点以及如何在JSP中使用它.本文中还包括了在JSP中使用JavaMail的实例.JavaMail是JSP应用软件中相当强大的API. 阅读这篇文章需要对JSP.JavaBeans和JavaMail有一定的初步了解.当然,有关于JavaMail的知识你可以通过阅读这篇文章来获得.如果你对于以上三项一无所知,但你所使用的服务器支持JSP和Jav

Servlets和JSP开发原则

js|servlet Servlet和JSP技术是用Java开发服务器端应用的主要技术,是开发商务应用表示端的标准.Java开发者喜欢使用它有多种原因,其一是对于已经熟悉Java语言的开发者来说这个技术容易学习:其二是Java把"一次编写,到处运行"的理念带入到Web应用中,实现了"一次编写,到处实现".而且更为重要的是,如果遵循一些良好的设计原则的话,就可以把表示和内容相分离,创造出高质量的.可以复用的.易于维护和修改的应用程序.比方说,在HTML文档中如果嵌入过