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

Поиск:

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


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

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



Цитата(Guest @ 7.11.2005, 12:00 Найти цитируемый пост)

сравнивать его с другими технологиями и имеет смысл! Например, ХМЛ+ХСЛТ! Мое мнение, он тут проигрывает....

Для обсуждения этого я создал отдельную тему: http://forum.vingrad.ru/index.php?act=ST&a...80&unread=1
Т.к. вероятно там много о чем можно поговорить.
PM WWW   Вверх
Nobody
Дата 6.2.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

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



Velocity - это, в отличие от JSP, совсем не обязательно серверная технология.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Се ля ви
Дата 16.5.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

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



Тут вот по работе столкнулся-таки с велосити. В принципе штука удобная, но что огорчает, так это отсутствие типизации - чем-то мне отдалённо помесь JS и SSI напомнило. И так же огорчает отсутствие поддержки в средах разработки - например, не нашёл никакого путного плагина для IDEA. 


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Stampede
Дата 17.5.2006, 02:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


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

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



Цитата(Се ля ви @  16.5.2006,  07:18 Найти цитируемый пост)
В принципе штука удобная, но что огорчает, так это отсутствие типизации


Ну хорошо, давай пофантазируем, как выглядел бы синтаксис шаблонного движка, если бы он поддерживал типизацию.

Допустим, мы имеем некую страницу интернет-магазина, которая использует следующие переменные:
  • $productInfo
  • $shoppingCart
  • $bestDealList
  • $topRatedList

Мы могли бы предусмотреть синтаксис для объявления переменных, что-то вроде:

Код

#use com.ebizsolutions.eshop.data.ProductInfo $productInfo
#use com.ebizsolutions.eshop.data.ShoppingCart $shoppingCart
#use java.util.List<com.ebizsolutions.eshop.data.Deal> $bestDealList
#use java.util.List<com.ebizsolutions.eshop.data.ProductInfo> $topRatedList


Хорошо это было бы или плохо? Если сделать объявление опциональным (ведь движку все равно, есть объявление или нет: он ведь полагается на runtime информацию и рефлексию), то не исключено, что это была бы полезная фича: можно было бы написать плагин, который по крайней мере может делать:
  • автозаполнение;
  • валидацию имен методов/пропертей;
  • рефакторинг;

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

Но вот заставлять разработчика делать явные объявления - это будет уже насилие над личностью smile А что касается опционального объявления, то это вполне можно было бы реализрвать как надстройку в форме синтаксиса, который Velocity воспринимает как комментарии, например ##use вместо #use. И уже на этой основе наваять соответствующий плагин.

Если кто хочет отличиться, дарю идею бесплатно smile Тут ничего нереального нет -  надо просто взять и сделать.

 
PM WWW   Вверх
Aazmandius
Дата 19.6.2006, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


O_o
*


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

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



А вот такой вопрос:
можно ли шаблон включить внутрь другого шаблона? и что при этом делать с контекстами, которые в общем случае могут быть разными? Грубо говоря, например у нас есть шаблон, который описывает некую веб-страницу, он включает в себя хэдер, футер и др. области. Каждой из областей соответствует свой шаблон, который нужно вставить в нужное место шаблона страницы. Контексты у них допустим разные, возможно ли такое подключение?
Вот нашел в документации:

One of the fundamental and important parts about Velocity is the resource management system and the resource loaders. They are referred to as 'resources' here rather than 'templates' because the resource management system will also handle non-template reasources, specifically things that are loaded via the #include() directive.

Судя по этому, поддержка подгрузки шаблонов есть, но как ее реализовать? 
 smile  

Это сообщение отредактировал(а) Aazmandius - 19.6.2006, 15:55
PM WWW   Вверх
Aazmandius
Дата 19.6.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


O_o
*


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

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



Решение почти найдено smile Нужно использовать директиву #parse(), только вот что делать с контекстом шаблона, который мы парсим? куда его подключать?  

Это сообщение отредактировал(а) Aazmandius - 20.6.2006, 15:13
PM WWW   Вверх
tux
Дата 21.6.2006, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


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

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



Цитата(Aazmandius @  19.6.2006,  22:19 Найти цитируемый пост)
Решение почти найдено smile Нужно использовать директиву #parse(), только вот что делать с контекстом шаблона, который мы парсим? куда его подключать?  

А зачем его подключать? Будет использоваться контекст "корневого" шаблона. 
PM MAIL Skype GTalk Jabber YIM   Вверх
Tony
Дата 16.10.2006, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А можно ли перенести из sessionContext и aplicationContext в VelocityContext аттрибуты? Но не потупому 4ерз for .


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


Гносеолог
**


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

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



Цитата(Tony @  15.10.2006,  23:17 Найти цитируемый пост)
А можно ли перенести из sessionContext и aplicationContext в VelocityContext аттрибуты?


Смотря что имеется в виду: javax.ejb.SessionContext? А "aplicationContext" - это что за зверь? Класс из какого-то конкретного контейнера? Или просто некий общий контекст приложения?

В принципе самое, пожалуй, универсальное решение - это написать обертку-адаптер, который будет имплементировать интерфейс org.apache.velocity.context.Context. Там всего пять методов, которые при реализации надо будет просто перенаправить подлежащему мапу или другому контексту: containsKey(), get(), getKeys(), put(), remove().

Но можно и по-деревянному, положить весь контекст в VelocityContext под своим именем и доступаться к его элементам, используя синтакс Velocity, например $applicationContext.get("someKey");

Понятно, что второй способ менее удобен, потому что в первом варианте мы бы обратились к этому же объекту просто как $someKey.



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


Эксперт
***


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

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



Я имел в виду web.Скажем есть сервлет я беру sessionContext i servletContext в обоих есть аттрибуты.Как сделать 4тобы Velocity увидел их.Коне4но можно по тупоми через for перекладывать но ...


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


Эксперт
***


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

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



решил так: Simple test: $test.id


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


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


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

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



есть какиендь шаблоны  для сервлетов-контроллеров, использующих velocity?
PM Jabber   Вверх
rilio
Дата 28.10.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Alexandr87 @ 27.10.2006,  10:54)
есть какиендь шаблоны  для сервлетов-контроллеров, использующих velocity?



Вот есть пример очень простого фреймворка на Velocity + AJAX: Rilio framework . 
Документация частично на русском. 

Это сообщение отредактировал(а) rilio - 28.10.2006, 21:49
PM MAIL WWW ICQ   Вверх
Stampede
Дата 29.10.2006, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


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

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



Цитата(Alexandr87 @  27.10.2006,  01:54 Найти цитируемый пост)
есть какиендь шаблоны  для сервлетов-контроллеров, использующих velocity?


Не совсем понятно, имеются ли в виду шаблоны проектирования (design patterns), шаблоны вывода (templates) или что-то другое? Хотелось бы увидеть более четко сформулированный вопрос.
PM WWW   Вверх
Alexandr87
Дата 31.10.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



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

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

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


 




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


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

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