Архив

Archive for the ‘Struts2’ Category

tiles,или привет шаблонные странички


Привет,сегодня я расскажу о такой замечательной штуке,как tiles. Часто почти всё время при создании сайта или простого веб-приложения возникает ситуация,когда есть одинаковые элементы у станиц,и естественно лень их каждый раз переписывать да и места они могут есть порядком и читабельности совсем не добавляют. неплохо было бы сделать нейкий шаблон,в который можно было бы подставлять только изменяемые части,а те,которые всё время одинаковые — подгружать. Для этого и придумали такую замечательную вещь как tiles.

придумаем нейкий дизайн страницы:

Тэкс. Тут у нас будет какая-то менюшка с кнопками,футер и какой-то контент который будем менять при переходе по страничкам. Ну-с с дизайном будем считать определились,перейдём к яве.

Создаём новый проект и подключаем к нему maven(либо сразу создаём maven-проект,либо испьзуем тот,что есть не суть важна). Подключаем к нему зависимости struts2-core и struts2-tiles-plugin. Мне удобнее описывать сначала дизайн,по-этому я с него и начну.

Тэкс,по-скольку у нас будет нейкий шаблон,то нам надо завести страничку,которая будет ядром шаблона и в которой будут описываться элементы этого шаблона. Создадим в папке WEB-INF папку tiles в ней создадим страницу baseLayout.jsp.Это и будет наш шаблон.

baseLayout.jsp

Тег «Далее»

Рубрики:javaEE, Struts2

struts2.Начало.


Вечная проблема как назвать тему.Может и не красиво,не судите строго.Ладности,поехали.

Скачать библиотеки фреймворка можно по ссылке http://struts.apache.org/download.cgi Версия доступная на данный момент — 2.2.1.1. Так как нам в принципе нужна только папка lib(в ней хранятся библиотеки), то качаем Source. Распаковываем архив с фреймворком.

Получили всё что нам нужно и переходим к яве. Запускаем эклипс EE-версии и создаём новый Dynamic Web Project

В поле «Project Name» впишем название проекта. Я назову свой «FirstProject». Кликаем «Next». Попадаем на диалог подключения библиотек в проект. Он нам пока что не нужен,по этому снова кликаем «Next». Здесь Можно изменить имя корневой папки проекта и корневую папку веб-контента,но самое главное — здесь надо поставить галку «Generate web.xml deployment descriptor» если она не стоит. файл потом можно и вручную написать,но уж пускай ява сама сделает хоть немногое). Всё,теперь можно нажимать «Finish». Получили вот такую структуру проекта:

Теперь чего к чему. Когда сервер получает и\или запускает приложение,он ищет в директории WebContent/WEB-INF файл web.xml. файл web.xml — основной дескриптор(описатель) приложения.в нём прописываются все подключяемые фреймворки и их параметры а так же страница загружаемая первой. Это обычный XML-файл.

В Папке lib должны лежать библиотеки,необходимые для работы приложения. Ну и папка src для классов обработки.

тэкс.Теперь импортируем в папку lib необходимые библиотеки struts2.

Нам понадобятся:

  • commons-fileupload-1.2.1.jar
  • commons-io-1.3.2.jar
  • commons-logging-1.1.jar
  • freemarker-2.3.13.jar
  • ognl-2.6.11
  • struts2-convention-plugin-2.1.6.jar
  • struts2-core-2.1.6.jar
  • xwork-2.1.2.jar

Версии библиотек могут отличаться.

для того чтобы импортировать библиотеки нажимаем правой кнопкой мыши п опапке lib, и выбираем в появившемся меню пункт «Import». Появится окно:выбираем пункт «File system». нажимаем «Next». Появится следующее:кликаем на кнопке «Browse…» и выбираем путь к папке lib struts2.(Ту которую качали и разархивировали). В ней выбираем нужные нам библиотеки и нажимаем Finish. Библиотеки импортированы и доступны внутри приложения.

Далее необходимо объяснить серверу,что мы будем использовать struts2. Делается это в файле web.xml.

внутри тега web-app нужно написать следующее:

Тег «Далее»

Рубрики:Struts2

way-to-struts2


Для начала не плохо было бы наверное затронуть что такое вообще фреймворк и для чего он нужен struts2 в частности.

Сейчас я в очень общих чертах расскажу как всё работает и приведу базовые понятия.Для быстрого старта можно сразу перейти к следующей статье.

Фреймворк — это набор библиотек,помогающий и облегчающий разработку и объединение разных компонентов программного проекта. struts2 — одно из достаточного количества вариантов фреймворков для javaEE. Так же стоит упомянуть о таком понятии,как MVC-паттерн. Это то,с чем столкнётся любой WEB-программист. Паттерн(шаблон) — некоторое архитектурное решение приложения, которое помогает решить возникающие задачи одинаковой направленности. Наверно далеко не лучшее опрелеление,но это не тема данного топика (Это будет тема следующего топика,ибо веещь полезная и знать надо а в две-три строчки вмещать не хочется да и нет смысла)

Таки вернёмся к MVC. Расшифровывается это как Model-View-Controller.

И так. У нас есть Некоторая модель (Классы сущностей) Например класс User (Пользователь).

Представление — интерфейс имеется ввиду визуальные интерфейс.В нашем случае это будет страница в браузере.

И Контроллер — Класс,который обрабатывает запросы от вида(страницы) к приложению(логике работы). Запросами могут быть например переходы по ссылкам на страницах.

В Struts2 контроллером является класс-фильтр DispatcherServlet. Описывать его естесственно не надо.

То есть когда мы например на странице в браузере переходим по какой-нибудь ссылке типа «отобразить страницу о пользователе» на сервере класс DispatcherServlet перехватывает запрос, выполняет какие-то действия с моделью и отдаёт их для отображения на представление.

Смысл? А смысл всего этого,чтобы отделить представление(нашу страницу) от логики работы.То есть страница не знает о логике,она лишь отображает состояние модели(системы) в конкретное время. Контроллер нужен для того,чтобы провести какие-либо действия над моделью,если они необходимы,либо напрямую вызвать отображение

На этом пока всё)

Рубрики:Struts2