jsp中使用javabean实例介绍
test.jsp中的代码如下所示
<%@ page language = "java" import="test.simplebean;" %>
<html>
<head>
<title>jsp中使用 java bean的测试</title>
</head>
<body>
<jsp:usebean id="test" class="test.simplebean" />
<jsp:setproperty name="test" property="name" value="hello jsp"/>
<jsp:setproperty name="test" property="message" value="fuck jsp"/>
<jsp:setproperty name="test" property="coon" value="fuck jsp"/>
<p>消息:
<jsp:getproperty name="test" property="name" />
<br>
<jsp:getproperty name="test" property="message" />
<br>
<jsp:getproperty name="test" property="coon" />
</body>
</html>
<jsp:usebean id=”test” />:表示定义一个java bean的实例,实例的名称是test,类的名称是simlebean。
<jsp:setproperty name=”test” property=”name” value=”hello jsp”/>:表示设置实例test的属性name,其值是”hello jsp”。
<jsp:setproperty name=”test” property=”message” value=”fuck jsp”/>:表示设置实例test的属性message,其值是”fuck jsp”。
<jsp:getproperty name=”test” property=”name” />:表示在页面中输出实例test的属性name的值。
<jsp:getproperty name=”test” property=”message” />:示在页面中输出实例test的属性message的值.
test.jsp文件中用到的java bean 的代码simplebean.java如下:
package test;
public class simplebean {
private string name;
private string message;
private string conn;
public string getname() {
return this.name;
}
public void setname(string name) {
this.name = name;
}
public string getmessage()
{
return this.message;
}
public void setmessage(string message)
{
this.message = message;
}
public string getcoon()
{
return this.conn;
}
public void setcoon(string coon)
{
this.conn = this.message+" "+this.name;
}
}
1、 <jsp:usebean>
javabean是特殊类型的java类,它与普通java类相比主要区别是包含了两种特殊的方法:set…(设置属性的方法)、get…(取属性值的方法)。
<jsp:usebean>动作用来查找或实例化一个jsp页面使用的javabeans组件。
在程序中可把逻辑控制、数据库操作放在javabeans组件中,然后在jsp文件中调用它,这样可增加程序的清晰度及程序的可重用性。
语法如下:
<jsp:usebean id=”beaninstancename”
scope=”page | request | session | application”
class=”package.claaa”
type=”package.claaa”
other elements
/>
属性:
1) id=”beaninstancename”
用来绑定bean实例的变量。
2) class|type=”package.claaa”
表明该bean具体是对哪个类的实例化。
3) scope=”page | request | session | application”
表示该bean的有效范围。
page:实例的有效范围是当前页面。
request:实例的有效范围是一个单独客户请求的生命周期内。
session:实例的有效范围是整个用户会话的生命周期内。
application:实例的有效范围是应用的生命周期内。
2、 <jsp:setproperty>
该动作的含义是使用bean中相应的set()方法设置一个或多个属性的值,值的来源是通过value属性明确给出,或者利用request对象中相应的参数。
假设某个bean有一个string类型的可被jsp文件使用的属性myproperty,则它必须有一个public方法setmyproperty(string value),<jsp:setproperty>动作使用的就是该方法。
语法如下:
<jsp:setproperty name=”beaninstancename”
property=”*” | property =”propertyname”
value=”具体的值”
/>
属性:
1) name=”beaninstancename”
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作<jsp:usebean>中定义的id必须对应起来,包括大小写都必须一致。
2) property=”*” | property =”propertyname”
这个属性是必须的,用来表示要设置哪个属性。如果property的值是”*”,表示用户在可见的jsp页面中输入的全部值,存储在匹配的bean属性中。匹配的方法是:bean的属性名称必须与输入框的名字相同。
3) value=”具体的值”
它用来指定bean的属性的值。
3、 <jsp:getproperty>
这个动作提取指定bean属性的值,转换成字符串,然后输出。该动作实际是调用了bean的get()方法。
按上文提到的某个bean有一个string类型的可被jsp文件使用的属性myproperty,它必须有一个返回类型为string的public方法getmyproperty()。<jsp:getproperty>使用的就是这个方法。
语法如下:
<jsp:getproperty name=”beaninstancename” property=”propertyname”/>
属性:
1) name=”beaninstancename”
这个属性是必须的,用来表明对哪个bean实例执行下面的动作,这个值和动作<jsp:usebean>中定义的id必须对应起来,包括大小写都必须一致。
2) property=”*” | property =”propertyname”
这个属性是必须的,用来表示要获取哪个属性。