JavaBean — это специальный класс Java, компонент многократного использования, написанный на языке Java и соответствующий спецификации API JavaBeans.
Ниже приведены уникальные особенности JavaBean по сравнению с другими классами Java:
Предоставьте конструктор по умолчанию без аргументов.
Требуется сериализация и реализация интерфейса Serializable.
Может существовать ряд свойств, доступных для чтения и записи.
Может существовать ряд методов «получателя» или «установщика».
Свойства объекта JavaBean должны быть доступны. Этот атрибут может быть любым допустимым типом данных Java, включая пользовательские классы Java.
Свойства объекта JavaBean могут быть доступны для чтения и записи, только для чтения или только для записи. Доступ к свойствам объекта JavaBean осуществляется посредством двух методов, предусмотренных в классе реализации JavaBean:
метод | описывать |
---|---|
получитьимясвойства () | Например, если имя атрибута — myName, то для чтения атрибута имя метода следует записать как getMyName(). Этот метод также называется аксессором. |
УстановитьИмяСвойства () | Например, если имя атрибута — myName, то имя метода для записи атрибута должно быть записано как setMyName(). Этот метод еще называют писателем. |
Свойство, доступное только для чтения, предоставляет только метод getPropertyName(), а свойство, доступное только для записи, предоставляет только метод setPropertyName().
Это файл StudentBean.java:
пакет com.tutorialspoint; общедоступный класс StudentBean реализует java.io.Serializable {частное String firstName = null; Private String LastName = null; public StudentBean() { } 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 }}
Скомпилируйте файл StudentBean.java, который будет использоваться в последнем примере этой главы.
Тег <jsp:useBean> может объявить JavaBean в JSP и затем использовать его. После объявления объекты JavaBean становятся переменными сценария, и к ним можно получить доступ через элементы сценария или другие пользовательские теги. Синтаксический формат тега <jsp:useBean> следующий:
<jsp:useBean id="имя компонента"scope="область действия компонента" typeSpec/>
Среди них, в зависимости от конкретной ситуации, значением области действия может быть страница, запрос, сеанс или приложение. Значение id может быть произвольным, если оно не совпадает со значением id в другом <jsp:useBean> в том же файле JSP.
Далее следует простое использование тега <jsp:useBean>:
<html><head><title>Пример useBean</title></head><body><jsp:useBean id="date" /> <p>Дата/время: <%= date %></body ></html>
Это даст следующие результаты:
Дата/время: четверг, 30 сентября, 11:18:11 GST 2013 г.
В теле тега <jsp:useBean> используйте тег <jsp:getProperty/> для вызова метода получения и тег <jsp:setProperty/> для вызова метода установки. Формат синтаксиса следующий:
<jsp:useBean id="id"scope="область bean's"> <jsp:setProperty name="bean's id" property="имя свойства" value="value"/> <jsp:getProperty name="bean's id" свойство ="имя свойства"/> ...........</jsp:useBean>
Атрибут name относится к атрибуту id компонента Bean. Атрибут свойства относится к методу получения или установки, который вы хотите вызвать.
Далее дан простой пример доступа к атрибутам с использованием приведенного выше синтаксиса:
<html><head><title>Пример получения и установки свойств</title></head><body><jsp:useBean id="students" > значение <jsp:setProperty name="students" property="firstName" ="Зара"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <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 >
Добавьте StudentBean.class в переменную среды CLASSPATH и затем получите доступ к указанному выше JSP. Результаты работы следующие:
Имя студента: Зара Фамилия студента: Али Возраст студента: 10 лет