Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Набираем Velocity 
:(
    Опции темы
Stampede
Дата 1.11.2006, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 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 - это самая настоящая стратегия. Напиши свой рендерер, который будет выводить текст задом наперед, и получишь отличный компонент для Иврита smile

В сервлете-контроллере место стратегии могло бы найтись, к примеру, в той части его логики, где он пытается определить, какой из имеющихся Commands должен обрабатывать тот или иной запрос на оснований инфы, доступной через Servlet API.


Вот так вот, если в общих чертах. Если будут вопросы - задавай smile

Это сообщение отредактировал(а) Stampede - 1.11.2006, 01:20


--------------------
"If you want something done right, do it yourself"
По секрету: выучить английский - реально!
PM WWW   Вверх
Alexandr87
Дата 1.11.2006, 06:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 6
Всего: 39



Спасибо. Будем смотреть.
PM Jabber   Вверх
JUncle
Дата 7.11.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 6.4.2006
Где: Казань, РФ

Репутация: нет
Всего: 1



Поставьте пожалуйста плюс Stampede, сам я до этого еще не дорос.
Причина: не внял его словам о Velocity, позже к этому же пришел. Замечательная статья. smile

Это сообщение отредактировал(а) JUncle - 7.11.2006, 14:25
--------------------
class JUncle extends Man // singleton{/*...*/}
PM MAIL   Вверх
tux
Дата 7.11.2006, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Без проблем
PM MAIL Skype GTalk Jabber YIM   Вверх
Бармалей
Дата 8.11.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.10.2006

Репутация: нет
Всего: нет



Скажите, а со времени написания статьи появились ли какие либо решения по интеграции Velocity с популярными IDE?

Это сообщение отредактировал(а) Бармалей - 8.11.2006, 17:14
PM MAIL WWW   Вверх
tux
Дата 8.11.2006, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Скажем так, это самое слабое место Velocity. Есть пара плагинов для Eclipse и, практически, все.
PM MAIL Skype GTalk Jabber YIM   Вверх
Бармалей
Дата 8.11.2006, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.10.2006

Репутация: нет
Всего: нет



Цитата(tux @ 8.11.2006,  17:35)
Скажем так, это самое слабое место Velocity. Есть пара плагинов для Eclipse и, практически, все.

Дайте, пожалуйста, ссылки на них. Просто Eclipse - моя любимая IDE.
PM MAIL WWW   Вверх
tux
Дата 8.11.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



PM MAIL Skype GTalk Jabber YIM   Вверх
Бармалей
Дата 8.11.2006, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.10.2006

Репутация: нет
Всего: нет



Спасибо. 
PM MAIL WWW   Вверх
tux
Дата 11.12.2006, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



После двух с половиной, не побоюсь этого слова, лет вышла очередная версия Velocity - 1.5 beta2. Качнуть можно здесь.
PM MAIL Skype GTalk Jabber YIM   Вверх
Tony
Дата 29.12.2006, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



Velocity cache - кеширует template как файл(сам исходник) или сам исходник + вставленные данные?

Это сообщение отредактировал(а) Tony - 29.12.2006, 18:31


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Stampede
Дата 30.12.2006, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(Tony @  29.12.2006,  08:28 Найти цитируемый пост)
Velocity cache - кеширует template как файл(сам исходник) или сам исходник + вставленные данные?


Когда Velocity в первый раз открывает файл шаблона, он его парсит и преобразует в свой внутренний формат, чтобы слияние (merge) с данными (контекстом) происходило побыстрее. Вот это вот внутреннее представление он и кэширует. А результат слияния - нет, не кэширует.
PM WWW   Вверх
Tony
  Дата 9.1.2007, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: 6
Всего: 12



А если сравнить с  FreeMarker. Похоже что он уступает ему. Или я не прав?


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Vofka
Дата 9.3.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 21.6.2006

Репутация: 1
Всего: 1



У оракла есть плагин к JDeveloper работающий на velocity который генерит JSF+ADF страницы.
http://www.oracle.com/technology/consultin...JHeadstart.html
Очень занятная вещь.мож кому полезно будет.
PM MAIL   Вверх
Restavrator
Дата 11.7.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.6.2007

Репутация: 1
Всего: 1



Если я правильно понял, то использование velocity заставляет отказаться от тегов. Если это так, то это существенный минус по сравнению с JSP+JSTL. Например потому, что используя Acegi Security или тот же Spring Framework теги этих библиотек юзаются достаточно плотно. Или я не прав? 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
2 Пользователей читают эту тему (2 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0880 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.