JavaBean是一种专门构建的Java类,它使用Java编写,并根据JavaBeans API规范进行编码。
以下是将JavaBean与其他Java类有区别的独特特征 -
- 它提供了一个默认的,无参数的构造函数。
- 它应该是可序列化的,可以实现
Serializable
接口。 - 它可能有许多可以读取或写入的属性。
- 它可能有一些
getter
和setter
方法的属性。
JavaBeans属性
JavaBean
属性是可由对象的用户访问的命名属性。该属性可以是任何Java数据类型,包括定义的类。JavaBean
属性可能被读取,写入,只读或只写。JavaBean
属性通过JavaBean
实现类中的两种方法进行访问 -
编号 | 方法 | 描述 |
---|---|---|
1 | getPropertyName() | 例如,如果PropertyName是firstName ,那么方法名称将是getFirstName() ,它用来来读取该属性的值。这种方法称为访问器。 |
2 | setPropertyName() | 例如,如果PropertyName名称是firstName ,那么方法名称将为setFirstName() 来写入该属性的值。这种方法叫赋值函数。 |
只读属性将只有一个getPropertyName()
方法,只写属性将只有一个setPropertyName()
方法。
JavaBeans示例
为了更好地演示如何使用JavaBean,我们打开Eclipse,创建一个动态Web项目:JavaBean,其项目结构如下所示 -
考虑一个拥有几个属性的学生(Student
)类 -
文件:Student.java
package com.yiibai;
public class Student {
private String name;
private String from;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
访问JavaBeans
useBean
动作声明一个用于JSP的JavaBean。当声明了之后,该bean
就成为脚本变量,可以由脚本元素和JSP中使用的其他自定义标签访问。useBean
标签的完整语法如下 -
<jsp:useBean id = "bean's name" scope = "bean's scope" typeSpec/>
这里,scope
属性的值可以是page
, request
, session
或application
。 id
属性的值可以是任何值,只要它是同一个JSP页面中不同于其他useBean
声明中的唯一名称。
以下示例显示如何使用useBean
操作 -
<html>
<head>
<title>useBean Example</title>
</head>
<body>
<jsp:useBean id = "date" class = "java.util.Date" />
<p>The date/time is <%= date %>
</body>
</html>
运行上面示例代码得到以下结果 -
The date/time is Thu Sep 20 13:18:11 GST 2017
访问JavaBeans属性
与<jsp:useBean ...>
动作一起,可以使用<jsp:getProperty />
动作来访问get
方法和<jsp:setProperty />
动作来访问set
方法。这里是完整的语法 -
<jsp:useBean id = "id" class = "bean's class" scope = "bean's scope">
<jsp:setProperty name = "bean's id" property = "property name"
value = "value"/>
<jsp:getProperty name = "bean's id" property = "property name"/>
...........
</jsp:useBean>
name
属性引用了以前通过useBean
操作引入到JSP中的JavaBean
的id
。属性是应该调用的get
或set
方法的名称。
以下示例显示如何使用上述语法访问数据。
文件:index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP+JavaBean</title>
</head>
<body>
<div style="margin:auto; width: 90%">
<!-- 设置学生信息 -->
<jsp:useBean id="student" class="com.yiibai.Student">
<jsp:setProperty name="student" property="name" value="苏小牛" />
<jsp:setProperty name="student" property="from" value="Haikou" />
<jsp:setProperty name="student" property="age" value="25" />
</jsp:useBean>
<p>
学生姓名:
<jsp:getProperty name="student" property="name" />
</p>
<p>
所在地:
<jsp:getProperty name="student" property="from" />
</p>
<p>
年龄:
<jsp:getProperty name="student" property="age" />
</p>
</div>
</body>
</html>
在编写完成上面示例代码后,运行项目并打开浏览器访问URL:http://localhost:8080/JavaBean/index.jsp
, 得到以下结果 -