阅读文章

JSP中JavaBean的应用

[日期:2000-07-18] 来源:Yesky  作者:清风 [字体: ]

p>   java server pages(JSP)组件技术的核心是被称为bean的java 组件.bean的结构必须满足一定的命名约定。JavaBean类似于ActiveX控件:他们都能提供常用功能并且可以重复使用。这些约定由sun和其他几个大公司制定,称为javabeans API.只要遵守java beansAPI的命名约定,就可以开发出可重用的,独立的java组件。在JSP中,使用bean标签集合,内容开发者不需要编写任何代码就能利用java 强大的功能为页面添加动态元素。 在JSP的开发中往往把大段的代码放在脚本片段(scriptlet)内,但是绝大多数的Java代码属于可重复使用的(如数据库的连接待),因此可以把这此重复的代码做成JavaBea的组件。JavaBean的值是通过一些属性获得的,你可通过这些属性访问JavaBean设置。现把在JSP中怎么调javaBean介绍如下:

  要在JSP使用"Bean",首先必须在JSP设置要引用的Bean,生成Bean的一个实例。可以用“$#@60;JSP:useBean$#@62;”标记来完成:

$#@60;JSP:useBean id="Name" class="com.testbean" scope="application" /$#@62;。

  "$#@60;JSP:useBean$#@62;"标记是通过“id”属性来识鉴别Bean。当指定了"id"属性后,还须告诉网页面从何处查找Bean,或者它的Java类别名是什么。最后一个必需的元素是“scope”属性。有了“scope”属性的帮助,你就能告诉Bean为单一页面(默认情况)[scope="page"]、为一个被请求的网页[scope="request"]、请求为会话[scope="session"],或者为整个应用程序[scope="application"]保持留信息。有了会话范围,你就能非常容易地在JSP网页面上维护网站上的项目,如购物车项目等。

  实例化一个JavaBean,就可以访问它的属性来定制它。要获得属性值,请用“$#@60;JSP:getProperty$#@62;”标记。使用这个标记能指定将要用到的Bean名称(从useBean的"id"字段得到)以及你想得到其值的属性。实际的值被放在输出中:

$#@60;JSP:getProperty id="Name" property="name" /$#@62;。

  要改变JavaBean属性,你必须使用“$#@60;JSP:setProperty$#@62;”标记。对这个标记,需要再次识别Bean和其属性,以修改并额外提供新值。如果命名正确,这些值可以从一个已提交的表中直接获得:参数获得:

$#@60;JSP:setProperty id="Name" property="*" /$#@62;;

可以从一个参数获得,? 须直接命名属性和参数:

$#@60;JSP:setProperty id="Name" property="serialNumber" value="string" /$#@62;

或者直接用一个名字称和值来设置:

$#@60;JSP:setProperty id="Name" property="serialNumber" value= $#@60;%= expression %$#@62; /$#@62;.

  关于JavaBean 的最后一件事: 为了Web服务器能找到JavaBean,你需要将其类别文件放在WEB服务器的一个特殊位置。在resin中是放在"doc\WEB-INF\classes"目录下的。

实例:这个简单的例子是完成对产品及税率的设置与获取。

package tax;
public class TaxRate{
String Product;
double Rate;
public TaxRate(){
this.Product = "A001";
this.Rate = 5;}
public void setProduct (String ProductName)
{this.Product = ProductName;}
public String getProduct(){return(this.Product);}
public void setRate (double rateValue)
{
this.Rate = rateValue;
}
public double getRate()
{
return (this.Rate);
}
}

sample_bean.JSP
$#@60;%@ page language="java" import="tax.*" %$#@62;
$#@60;HTML$#@62;
$#@60;BODY$#@62;
$#@60;JSP:useBean id="TaxRate" scope="application" class="TaxRate" /$#@62;
修改前:
$#@60;br$#@62;
 产品 : $#@60;JSP:getProperty name="TaxRate" property="Product" /$#@62;
  $#@60;br$#@62;
 税率 : $#@60;JSP:getProperty name="TaxRate" property="Rate" /$#@62;

$#@60;JSP:setProperty name="TaxRate" property="Product" value="Hello" /$#@62;
$#@60;JSP:setProperty name="TaxRate" property="Rate" value="2.9" /$#@62;
修改后:
$#@60;br$#@62;
 产品 : $#@60;JSP:getProperty name="TaxRate" property="Product" /$#@62;
  $#@60;br$#@62;
 税率 : $#@60;JSP:getProperty name="TaxRate" property="Rate" /$#@62;

$#@60;/BODY$#@62;$#@60;/HTML$#@62;

  把TaxRate.java放到resin的"doc\WEB-INF\classes\doc"目录下,sample_bean.JSP放入resin的doc目录下。在浏览器下运行:http://localhost:8080/sample_bean.JSP即可看到效果。从以上的讲解及应用可以看出:由于组件技术的使用和JAVABEANS API的引入,JSP让JAVA开发者可以将一个站点快速地分解为一些细小的、可重用的组件。这些组件作为HTML元素,用于JSP的各个需要地方。这一实现让开发工作清楚地分为表现与内容两个部分。




阅读:
录入:

评论 】 【 推荐 】 【 打印
上一篇:编写Enterprise bean的客户端(上)
下一篇:JAVA Servlets简介
相关文章      
本文评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款