JavaBean是一个特殊构造的Java类,用Java编写并根据JavaBeans API规范进行编码.
以下是区分JavaBean与其他Java类的唯一特性 :
它提供了一个默认的无参数构造函数.
它应该是可序列化的,并且可以实现 Serializable 接口.
它可能有许多属性可以读或写.
它可能有一些" getter "和" setter "属性的方法.
JavaBean属性是一个命名属性,可以由对象的用户访问.该属性可以是任何Java数据类型,包括您定义的类.
JavaBean属性可以是读,写,只读或只写. JavaBean属性通过JavaBean的实现类中的两个方法访问 :
S.No. | 方法&描述 |
---|---|
1 | 获取 PropertyName () 例如,如果属性名称是 firstName ,则您的方法名称将为是 getFirstName()来读取该属性.此方法称为访问者. |
2 | set PropertyName () 例如,如果属性名称是 firstName ,您的方法名称将 setFirstName()来编写该属性.这个方法叫做mutator. |
只读属性只有一个 getPropertyName()方法,只写属性只有 setPropertyName()方法.
考虑一个具有少量属性和减号的学生班级;
package com.it1352; public class StudentsBean implements java.io.Serializable { private String firstName = null; private String lastName = null; private int age = 0; public StudentsBean() { } public String getFirstName(){ return firstName; } public String getLastName(){ return lastName; } public int getAge(){ return age; } public void setFirstName(String firstName){ this.firstName = firstName; } public void setLastName(String lastName){ this.lastName = lastName; } public void setAge(Integer age){ this.age = age; } }
useBean action声明一个JavaBean以在JSP中使用.声明之后,bean成为脚本变量,可以由JSP中使用的脚本元素和其他自定义标记访问. useBean标记的完整语法如下 :
<jsp:useBean id = "bean's name" scope = "bean's scope" typeSpec/>
此处范围属性的值可以是页面,请求,会话或基于应用程序你的要求. 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 30 11:18:11 GST 2010
除了< jsp:useBean ...> 操作,您还可以使用< jsp:getProperty/> 用于访问get方法的操作和用于访问set方法的< jsp:setProperty/> 操作.以下是完整语法 :
<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. property属性是应该调用的 get 或 set 方法的名称.
以下示例显示了如何访问数据使用上述语法 :
<html> <head> <title>get and set properties Example</title> </head> <body> <jsp:useBean id = "students" class = "com.IT屋.StudentsBean"> <jsp:setProperty name = "students" property = "firstName" value = "Zara"/> <jsp:setProperty name = "students" property = "lastName" value = "Ali"/> <jsp:setProperty name = "students" property = "age" value = "10"/> </jsp:useBean> <p>Student First Name: <jsp:getProperty name = "students" property = "firstName"/> </p> <p>Student Last Name: <jsp:getProperty name = "students" property = "lastName"/> </p> <p>Student Age: <jsp:getProperty name = "students" property = "age"/> </p> </body> </html>
让我们在CLASSPATH中提供 StudentsBean.class .访问上面的JSP.以下结果将显示 :
Student First Name: Zara Student Last Name: Ali Student Age: 10