JSP Java Beans
-
Java Beans
JavaBean 是用Java编写并根据JavaBeans API规范进行编码的特殊构造的Java类。以下是将JavaBean与其他Java类区分开的独特特征-- 它提供了一个默认的无参数构造函数。
- 它应该是可序列化的,并且可以实现Serializable接口。
- 它可能具有许多可以读取或写入的属性。
- 它可能有许多用于属性的“getter”和“setter”方法。
-
Java Beans 属性
JavaBean属性是对象的用户可以访问的命名属性。该属性可以是任何Java数据类型,包括您定义的类。JavaBean属性可以是可读,可写,只读或只写。JavaBean属性通过JavaBean的实现类中的两种方法访问-- getPropertyName() - 例如,如果属性名称为firstName,则您的方法名称将为getFirstName() 以读取该属性。此方法称为访问器。
- setPropertyName() - 例如,如果属性名称为firstName,则您的方法名称将为setFirstName() 以写入该属性。此方法称为设置器。
只读属性将仅具有getPropertyName()方法,而只写属性将仅具有setPropertyName()方法。 -
Java Beans 示例
下面是一个属性很少的Students类-package com.jc2182.demo; import java.io.Serializable; public class StudentsBean implements Serializable { private static final long serialVersionUID = -5257700982261451969L; public String firstName = null; public String lastName = null; public String age = null; public StudentsBean() { } public String getFirstName(){ return firstName; } public String getLastName(){ return lastName; } public String getAge(){ return age; } public void setFirstName(String firstName){ this.firstName = firstName; } public void setLastName(String lastName){ this.lastName = lastName; } public void setAge(String age){ this.age = age; } }
-
访问 Java Beans
useBean的动作宣告了一个JavaBean用于在JSP中使用。声明后,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>
-
访问 Java Beans 属性
与<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。property属性是应调用的get或set方法的名称。以下示例显示如何使用上述语法访问数据-<html> <head> <title>get and set properties Example</title> </head> <body> <jsp:useBean id = "students" class = "com.jc2182.demo.StudentsBean"> <jsp:setProperty name = "students" property = "firstName" value = "Moo"/> <jsp:setProperty name = "students" property = "lastName" value = "Alex"/> <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。将显示以下结果-