English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
JavaBean - это особый класс Java, написанный на Java и соблюдающий спецификацию JavaBean API.
Далее приведены уникальные характеристики JavaBean по сравнению с другими классами Java:
предоставить стандартный безпараметрический конструктор.
должен быть сериализован и реализовать интерфейс Serializable.
возможно, есть ряд свойств, доступных для чтения и записи.
возможно, есть ряд getter или setter методы.
Атрибут объекта JavaBean должен быть доступен. Этот атрибут может быть любым законным типом данных Java, включая пользовательские классы Java.
Свойства объекта JavaBean могут быть читаемыми и записываемыми, или только читаемыми, или только записываемыми. Свойства объекта JavaBean могут быть accessed через два метода, предоставляемые классом реализации JavaBean: }}
Метод | Описание |
---|---|
getPropertyName} | Например, если имя свойства - myName, то имя метода должно быть написано getMyName() для чтения этой свойства. Этот метод также называется читателем. |
setPropertyName} | Например, если имя свойства - myName, то имя метода должно быть написано setMyName() для записи этой свойства. Этот метод также называется писателем. |
У�性, которая только читается, предоставляет только метод getPropertyName(), а у�性, которая только пишется, предоставляет только метод setPropertyName().
Это файл StudentBean.java:
package com.w3codebox; 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(int age) { this.age = age; } }
Компилировать файл StudentBean.java (он будет использован в последнем примере):
$ javac StudentsBean.java
после компиляции получить StudentBean.class копировать файл в <JSP проект>/WebContent/WEB-INF/classes/com/w3codebox如下图所示:
Тег <jsp:useBean> может声明一个 JavaBean в JSP и затем использовать его. После объявления объект JavaBean становится переменной скрипта и может быть доступен через элементы скрипта или другие пользовательские теги. Синтаксис тега <jsp:useBean> следующий:
<jsp:useBean id="имя bean" scope="диапазон bean" typeSpec/>
Где, в зависимости от конкретной ситуации, значение scope может быть page, request, session или application. Значение id может быть любым, только не должно повторяться с другими тегами <jsp:useBean> в одном JSP-файле.
Далее дается простой пример использования тега <jsp:useBean>:
<%@ page language="java" contentType="text/html; charset=UTF-8" %> pageEncoding="UTF-8"% <html> <head> <title>Пример использования тега useBean</title> </head> <body> <jsp:useBean id="date"/> <p>Дата: <%= date %> </body> </html>
Это приведет к следующим результатам:
Дата: Tue Jun 28 15:22:24 CST 2016
в <jsp:useBean> в теле тега <jsp:getProperty/> с помощью тега getter Метод, используя <jsp:setProperty/> с помощью тега setter Формат синтаксиса метода такой:
<jsp:useBean id="id" scope="диапазон bean"> <jsp:setProperty name="id bean" property="имя свойства"/> value="значение"/> <jsp:getProperty name="id bean" property="имя свойства"/> ...... </jsp:useBean>
Свойство name указывает на атрибут id Bean. Свойство property указывает на метод getter или setter, который нужно вызвать.
Далее дается простой пример использования вышеуказанной синтаксической структуры для доступа к свойствам:
<%@ page language="java" contentType="text/html; charset=UTF-8" %> pageEncoding="UTF-8"% <html> <head> <title>Пример свойств get и set</title> </head> <body> <jsp:useBean id="students" > <jsp:setProperty name="students" property="firstName" value="Сяо Цян"/> <jsp:setProperty name="students" property="lastName" value="Ван"/> <jsp:setProperty name="students" property="age" value="10"/> </jsp:useBean> <p>Имя студента: <jsp:getProperty name="students" property="firstName"/> </p> <p>Фамилия студента: <jsp:getProperty name="students" property="lastName"/> </p> <p>Возраст студента: <jsp:getProperty name="students" property="age"/> </p> </body> </html>
Запуск вышеуказанного JSP, результат выполнения будет следующим:
Имя студента: Сяо Цян Фамилия студента: Ван Возраст студента: 10