在Jsp中使用JavaBeans
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的一个实例。可以用“<jsp:useBean>”标记来完成:
<jsp:useBean id="Name" class="com.testbean" scope="application" />。
"<jsp:useBean>"标记是通过“id”属性来识鉴别Bean。当指定了"id"属性后,还须告诉网页面从何处查找Bean,或者它的Java类别名是什么。最后一个必需的元素是“scope”属性。有了“scope”属性的帮助,你就能告诉Bean为单一页面(默认情况)[scope="page"]、为一个被请求的网页[scope="request"]、请求为会话[scope="session"],或者为整个应用程序[scope="application"]保持留信息。有了会话范围,你就能非常容易地在JSP网页面上维护网站上的项目,如购物车项目等。
实例化一个JavaBean,就可以访问它的属性来定制它。要获得属性值,请用“<jsp:getProperty>”标记。使用这个标记能指定将要用到的Bean名称(从useBean的"id"字段得到)以及你想得到其值的属性。实际的值被放在输出中:
<jsp:getProperty id="Name" property="name" />。
要改变JavaBean属性,你必须使用“<jsp:setProperty>”标记。对这个标记,需要再次识别Bean和其属性,以修改并额外提供新值。如果命名正确,这些值可以从一个已提交的表中直接获得:参数获得:
<jsp:setProperty id="Name" property="*" />;
可以从一个参数获得,须直接命名属性和参数:
<jsp:setProperty id="Name" property="serialNumber" value="string" />
或者直接用一个名字称和值来设置:
<jsp:setProperty id="Name" property="serialNumber" value= <%= expression %> />.
关于JavaBean的最后一件事: 为了Web服务器能找到JavaBean,你需要将其类别文件放在WEB服务器的一个特殊位置。在resin中是放在"docWEB-INFclasses"目录下的。
下面请看程序清单3.1 SimpleBean.java, 这个简单的例子是完成对产品及税率的设置与获取。
程序清单:
package example3;
public class SimpleBean {
private String message;
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
}
example3_1.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="errorpage.jsp" %>
<%@ page language="java" import="example.*" %>
<jsp:useBean id="test" scope="page" class="example3.SimpleBean" />
<html>
<HEAD>
<title>JSP</title>
</HEAD>
<body>
<jsp:setProperty name="test" property="message" value="Hello JSP"/>
<p>
<jsp:getProperty name="test" property="message" />
</body>
</html>
把SimpleBean.java放到Tomcat的" webapps \myapp\WEB-INF\src\example3 "目录下,example3_1.jsp
放入C:\Tomcat5\webapps\myapp\webapp\example3_1.jsp目录下。在浏览器下运行:http://localhost/myapp/webapp/example3_1.jsp即可看到效果如下:
以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询
上一篇: jsp:setProperty动作
下一篇:jsp page指令(Directive)