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 Кб). |
