![]() |
Модераторы: LSD, AntonSaburov Страницы: (10) Все « Первая ... 2 3 [4] 5 6 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Я не знаю, есть ли какие-то специальные design patterns для разработки именно "сервлетов-контроллеров, использующих velocity", хотя до некоторой степени идею сервлета-контроллера (который также нередко называют Front Servlet, Controller Servlet, etc.) саму по себе уже можно считать дизайн паттерном.
Если же говорить о том, какие из паттернов общего назначения могут пригодиться в реализации такого сервлета, то я бы назвал в первую очередь Command и Strategy. Command Команда - это достаточно простой компонент, который инкапсулирует выполнение некоего действия. Примерами могут служить всякие Task, Runnable, Action и пр. При этом он может принимать какие-то параметры и/или возвращать какие-то результаты, но это необязательно. Применительно к обсуждаемой задаче, такой компонент, по-видимому, должен как-то обработать входящий веб-запрос и, коль скоро речь идет о Velocity, сгенерировать некий выходной текст, для каковой цели ему придется выяснить, какой из имеющихся шаблонов (templates) он должен использовать, и подготовить в объекте типа VelocityContext все необходимые данные, которые понадобятся при рендеринге. Strategy Паттерн Стратегия служит для инкапсуляции в отдельном компоненте конкретной реализации некоторой функциональности. Этот патерн, к примеру, широко используется в Swing'е. Например механизм TableCellRenderer - это самая настоящая стратегия. Напиши свой рендерер, который будет выводить текст задом наперед, и получишь отличный компонент для Иврита ![]() В сервлете-контроллере место стратегии могло бы найтись, к примеру, в той части его логики, где он пытается определить, какой из имеющихся Commands должен обрабатывать тот или иной запрос на оснований инфы, доступной через Servlet API. Вот так вот, если в общих чертах. Если будут вопросы - задавай ![]() Это сообщение отредактировал(а) Stampede - 1.11.2006, 01:20 -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 6 Всего: 39 |
Спасибо. Будем смотреть.
|
|||
|
||||
JUncle |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 162 Регистрация: 6.4.2006 Где: Казань, РФ Репутация: нет Всего: 1 |
Поставьте пожалуйста плюс Stampede, сам я до этого еще не дорос.
Причина: не внял его словам о Velocity, позже к этому же пришел. Замечательная статья. ![]() Это сообщение отредактировал(а) JUncle - 7.11.2006, 14:25 --------------------
class JUncle extends Man // singleton{/*...*/} |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Без проблем
|
|||
|
||||
Бармалей |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 26.10.2006 Репутация: нет Всего: нет |
Скажите, а со времени написания статьи появились ли какие либо решения по интеграции Velocity с популярными IDE?
Это сообщение отредактировал(а) Бармалей - 8.11.2006, 17:14 |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Скажем так, это самое слабое место Velocity. Есть пара плагинов для Eclipse и, практически, все.
|
|||
|
||||
Бармалей |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 26.10.2006 Репутация: нет Всего: нет |
Дайте, пожалуйста, ссылки на них. Просто Eclipse - моя любимая IDE. |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
||||
|
||||
Бармалей |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 26.10.2006 Репутация: нет Всего: нет |
Спасибо.
|
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
После двух с половиной, не побоюсь этого слова, лет вышла очередная версия Velocity - 1.5 beta2. Качнуть можно здесь.
|
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
Velocity cache - кеширует template как файл(сам исходник) или сам исходник + вставленные данные?
Это сообщение отредактировал(а) Tony - 29.12.2006, 18:31 |
|||
|
||||
Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Когда Velocity в первый раз открывает файл шаблона, он его парсит и преобразует в свой внутренний формат, чтобы слияние (merge) с данными (контекстом) происходило побыстрее. Вот это вот внутреннее представление он и кэширует. А результат слияния - нет, не кэширует. |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: 6 Всего: 12 |
А если сравнить с FreeMarker. Похоже что он уступает ему. Или я не прав?
|
|||
|
||||
Vofka |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 21.6.2006 Репутация: 1 Всего: 1 |
У оракла есть плагин к JDeveloper работающий на velocity который генерит JSF+ADF страницы.
http://www.oracle.com/technology/consultin...JHeadstart.html Очень занятная вещь.мож кому полезно будет. |
|||
|
||||
Restavrator |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 16.6.2007 Репутация: 1 Всего: 1 |
Если я правильно понял, то использование velocity заставляет отказаться от тегов. Если это так, то это существенный минус по сравнению с JSP+JSTL. Например потому, что используя Acegi Security или тот же Spring Framework теги этих библиотек юзаются достаточно плотно. Или я не прав?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |