410013796724260
• Webmoney
R335386147728
Z369087728698
Компонент JavaBeanКомпоненты JavaBean – это многократно используемые классы Java, позволяющие разработчикам существенно ускорять процесс разработкии WEB-приложений путем их сборки из программных компонентов. JavaBeans и другие компонентные технологии привели к появлению нового типа программирования – сборки приложений из компонентов, при котором разработчик должен знать только сервисы компонентов; детали реализации компонентов не играют никакой роли. JavaBean – это одноуровневые объекты, использующиеся для того, чтобы инкапсулировать в одном объекте код, данные или и то и другое. Компонент JavaBean может иметь свойства, методы и события, открытые для удаленного доступа. Методы getters settersКомпонент JavaBean должен удовлетворять определенным соглашениям о наименовании методов и экспортируемых событий. Одним из важных понятий технологии JavaBeans является внешний интерфейс properties (свойства). Property JavaBean – это методы getters setters, обеспечивающие доступ к информации о внутреннем состоянии компонента JavaBean. Для обращения к компонентам JavaBeans на странице JSP необходимо использовать следующее описание тега в разделе head : <jsp:useBean id="BeanID" [scope="page | request | session | application"] class="BeanClass" /> Идентификатор BeanID определяет имя компонента JavaBean, являющееся уникальным в области видимости, определенной атрибутом scope. По умолчанию принимается область видимости scope="page", т.е. текущая страница JSP. Обязательный атрибут класса компонента "class" может быть описан следующим способом: class="имя класса" [type="полное имя суперкласса"] Свойства JavaBean - jsp:setProperty jsp:getPropertyСвойство JavaBean компонента устанавливается тегом jsp:setProperty. Пример : <jsp:setProperty name="myBean" property="Имя свойства" value="Строка или выражение JSP" /> Для чтения свойства компонента JavaBean с именем myBean используется тег jsp:getProperty : <jsp:getProperty name="myBean" property="Имя свойства" /> В следующем листинге приведен пример компонента JavaBean, содержащего строку mystr, используемую в качестве свойств компонента. В компоненте определены методы getter setter. package beans; public class myBean { private String mystr; //---------------------------------------------- public String getMystr() { return mystr; } //---------------------------------------------- public void setMystr(String mystr) { this.mystr = mystr; } //---------------------------------------------- } Синтаксис описания компонента JavaBean на странице JSP приведен на странице Действия actions JSP Пример использования JavaBean на странице JSPРассмотрим простой пример, в котором на странице JSP будет выведено приветствие из JavaBean компонента. Для разработки будет использована IDE Eclipse. На следующем скриншоте представлена структура проекта JavabeanExample, включающего компонент JavaBeanHello.java, страницу index.jsp и дескриптор приложения. Листинг JavaBean компонента JavaBeanHello.javaКомпонент включает свойстве message и методы get/set. package example; public class JavabeanHello { private String message = "JavaBean компонент приветствует Вас!"; public JavabeanHello() {} public String getMessage() { return message; } public void setMessage(final String message) { this.message = message; } } Листинг дескриптора приложения web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> Дескриптор приложения не включает никакой информации о JavaBean компоненте, используемый на страницах WEB-приложения. Листинг JSP страницы index.jsp<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*, java.text.*" %> <jsp:useBean id="hello" class="example.JavabeanHello" scope="page" /> <%! String getFormattedDate() { SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy hh:mm:ss"); return sdf.format(new Date()); } %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JavaBean с JSP!</title> </head> <body> <h2>${hello.message}</h2> <i>Сегодня <%= getFormattedDate() %></i> </body> </html> На странице определена кодировка UTF-8 и выполняется импорт утилит и классов для работы с датой. Тег <jsp:useBean> определяет JavaBean компонент - класс, область видимости (page) и alias использования на странице. Для вывода на страницу сообщения компонента указывается его alias и свойство "${hello.message}". Интерфейс страницы представлен на следующем скриншоте. Курсивом на страницу выведена строка с текущей датой и временем. Скачать примерыИсходные коды проекта JavaBeanExample, рассмотренного в тексте страницы, можно скачать здесь (7 Кб). |