|
Модераторы: LSD, AntonSaburov |
|
Domestic Cat |
|
||||||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Консольное приложение в
1. Сначала нужно стянуть Велосити, версия 1.4: http://jakarta.apache.org/site/downloads/d...city-engine.cgi Разархивируем в директорию, скажем, C:\velocity\ 2. В разархивированном виде можно ради интереса собрать Велосити самим : для этого нужно зайти в директорию build и запустить ант. Далее владельцам тигра нужно матерно обругать тех, кто решил использовать переменную enum и установить в билд файле source="1.4" проперти. Далее можно прогнать все возможные тесты с помощью ant test. 3. Для тех, кто делать этого не хочет, в корне лежат 2 jarа : velocity-1.4.jar и velocity-dep-1.4.jar. Их нужно добавить в CLASSPATH. 4. Теперь можно создать свое первое десктоп приложение (сервлет надеюсь добавить на днях). Начинаем с темплейта: создаем файл test.vm такого содержания
Это очень простой темплейт. Он содержит директиву #set и одну переменную. 5. Пишем файл VeloTest.java
Чтоб иксепшны не путались под ногами, я их убрал в throws. 6. Компилим javac VeloTest.java и запускаем: java VeloTest
-------------------- |
||||||
|
|||||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 16 Всего: 151 |
Посмотрел на http://jakarta.apache.org/, что такое Velocity, но все равно не понял. Для чего используются эти шаблоны?
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
-------------------- |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 16 Всего: 151 |
Вот именно это я и не понял. Можно вызывать методы из текста страницы? Так это можно сделать и без использования сторонних технологий.
Исходя из твоего примера, я так понял, что можно иметь готовый шаблон (который представляет из себя HTML, XML, SQL, текст и т.д.) и передавать в него значения переменных, получая таким образом документ, запрос и т.д. Но ведь точно так же мы можем сделать и в тексте обычной JSP. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Текст обычной JSP - это Java код. Задача фреймворка состоит в том, чтобы презентацию сделать как можно более простой. Тогда за хтмл можно посадить обычного веб-дизайнера. Далее этот дизайнер делает супер-пупер страницу. Программист пишет бизнес логику. Они встречаются, и программер дает дизайнеру имена переменных. Дизайнер вставляет их в свою страницу, типа "Привет, $name".
То есть, дизайнеру не нужно ничего знать о java или jsp. Кроме того, четкое отделение презентации от модели есть хорошо, и называется Модель 2 паттерн. -------------------- |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 16 Всего: 151 |
Но ведь можно просто привести все к виду обычного HTML с включенными <%= name %>, или, в крайнем случае, с циклами или итераторами, и мы получим ту же самую изоляцию (хотя у меня пока сводить все к этому не получается , все равно на странице присутствуют методы) -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Sleepy_PIP |
|
|||
Опытный Профиль Группа: Участник Сообщений: 512 Регистрация: 30.6.2004 Где: Moscow Репутация: 2 Всего: 12 |
так задача UI интерфейса везеде и всегда - не просто выдать юзеру какой-то отчет, хоть он и прекрасно строится в терминах Velocity, но и получить реакцию от клиента. т.е. интерактив .... т.е. на лицо - в Velicity можно писать _выходные_ _отчеты_, не требующиее интеракива. Это конечно хорошо, но далеко не все, и к тому-ж проигрывает PDF отчетам. Ну все конечно ИМХО чайника -------------------- -- Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем свободным ..." |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Нет такой серверной технологии, которая б давалa интерактив. А JavaScript или аналогичый клиентский скрипт / АктивХ / апплет никто не мешает пользовать. -------------------- |
|||
|
||||
Domestic Cat |
|
||||||||||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Пример посерьезнее.
Запуск дает:
-------------------- |
||||||||||
|
|||||||||||
Се ля ви |
|
|||
Java/SOAрхитектор Профиль Группа: Модератор Сообщений: 2016 Регистрация: 5.6.2004 Где: place without tim e and space Репутация: 3 Всего: 127 |
Domestic Cat
По-моему, довольно похожие облегченные конструкции встречались в спецификации JSP 2.0 - там тоже есть конструкции без традиционных "<%" и "%>" - можно их сравнить как-то? За топик большое спасибо) -------------------- |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Нет, Велосити - это template engine, jsp - это ява код внутри хтмла Велосити похож конечно, например, можно "вызывать методы" : $product.setPrice(55). Разница в том, что темпейт - файл vm парсится и все, jsp компилируется в класс и исполняется. В темплейтах нельзя определять методы. Зато можно делать макросы. -------------------- |
|||
|
||||
Zandr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 433 Регистрация: 16.7.2004 Где: Новосибирск Репутация: нет Всего: 13 |
Что ни начнешь писать - все компилятор получается... |
|||
|
||||
Domestic Cat |
|
|||
Эксперт Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 13 Всего: 172 |
Скорее интерпретатор. А вообще, мощный шаблонный движок. -------------------- |
|||
|
||||
simanyay |
|
|||
Антон Ковалёв Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 2 Всего: 36 |
У меня вопрос:
Какое преимущество, в плане производительности, даёт Velocity по сравнению с использованием JSP (<%= %>)? Просто я не до конца понимаю смысла Velocity для web-страниц. -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
simanyay |
|
|||
Антон Ковалёв Профиль Группа: Участник Сообщений: 2053 Регистрация: 22.8.2002 Репутация: 2 Всего: 36 |
Вопрос и сомнения вроде отпали. Советую всем, у кого такой же вопрос прочитать это: Case Study: JSP vs. Velocity
Добавлено @ 16:12 Попробую, в общем курсовую написать используя Velocity. Авось и получится -------------------- «It's better to be a pirate than to join the Navy» — Steve Jobs. |
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |