![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Stampede |
|
|||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
А можно узнать, чем именно не подходит? Дело в том, что именно для целей организации вложенных шаблонов Velocity подходит как ничто другое. И уж во всяком случае намного лучше, чем jsp:include. Может, ты просто не до конца разобрался? Что касается хранения шаблонов в статических полях: а смысл? Если ради быстродействия, то, как справедливо заметил ivg, однажды скомпилированные шаблоны кэшируются движком, так что большого выигрыша от статической ссылки ты не получишь. А вот потерять - потеряешь. В удобстве обновления. Когда шаблон запрашивают у движка по имени, он может (как настроишь) чекнуть, не было ли изменений в соответствующем файле, и если что - перекомпилирует шаблон. То есть ты можешь подрихтовать текст шаблона, нажать рефреш в браузере, и сразу увидеть изменения. В случае же хранения скомпилированного темплейта такой номер уже не пройдет. Так штааа... И еще не удержусь, чтобы повторить: гибче и мощнее средства чем Velocity (ну или другой шаблонный движок) для работы с множественными/повторяющимися/вложенными/параметирозованными/whatever блоками вебных (и не только) страниц - человечество еще не придумало -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
|||
|
||||
| SuperFly |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
Очень приятно, что такой легендарный участник форума вступил со мной в диалог ^_^
Начнем по порядку.
Да, первое впечатление было таким, в принципе и сейчас, соглашусь с этим, но дело в том, что синтаксис Velocity заведомо урезан, или я как раз тут-то и ошибаюсь? JSP же позволяет писать всё, что я захочу без дополнительных привязок, к примеру <%= EspaceTool.html() ?> никаких доп настроек, разве что импортирование, но это в IDE не составит много времени добавить. От этой мысли я сразу же отказался ^_^ сам дошел до того, что можно будет перезалить файлы без редеплоя. Да, и с этим не осмелюсь спорить... НО, я наверно дуб дубом. Как мне представить вот этот кусочек шаблона в Velocity?
Сразу говорю, код невалидный, можно назвать псевдокодом, смесь JSP и Velocity, предоставлен только в ознакомительных целях. Добавлено @ 22:52 Да опишу, немного... Тут несколько тачек раскиданы по 2 колонкам. И еще кто заметил, теги PHP проскальзывают *CONFUSED* Это сообщение отредактировал(а) SuperFly - 27.11.2007, 23:01 |
||||
|
|||||
| SuperFly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
Ну, что вот за па_ла такая???
http://javagu.ru/portal/dt?last=false&...U_SECTION_80703 Везде эта статья попадается и везде
Во всем интернете такую главу не сыскать :( |
|||
|
||||
| Stampede |
|
||||
![]() Гносеолог ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 963 Регистрация: 25.4.2005 Где: Calgary, Alberta, Canada Репутация: 66 Всего: 144 |
Понятно. Смари.
Знач тебе надо выводить описания машинок в две колонки. Нормального оператора цикла в Velocity нет, но всегда можно обойтись if/else (интересным образом, за более чем три года юзания Velocity это первый раз, когда я сталкиваюсь с такой необходимостью... с чего бы это?) Если бы задача стояла выводить описания по одному на строку, то весь код уместился бы в три строчки. Для удобства выделим хтмл описания в отдельный макрос, чтобы не болтался под ногами:
Ну а теперь нам только остается переделать это так, чтобы выводилось в две колонки. Для этого можно изобразить два вложенных цикла, как в твоем примере, а можно задействовать штатный списочный цикл, добавляя в нужных местах хтмл начала и конца строки:
Ну да, я согласен, что если бы был человеческий синтаксис для цикла, получилось бы намного изящнее и короче. Но я еще раз повторяю: такие задачи возникают далеко не каждый день. В большинстве ситуаций вполне хватает списочного цикла. Это сообщение отредактировал(а) Stampede - 28.11.2007, 00:13 -------------------- "If you want something done right, do it yourself" По секрету: выучить английский - реально! |
||||
|
|||||
| SuperFly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
Stampede, изящьность первого куска кода достигнута за счет того
К сожалению, у меня тот случай, где с меня требуют разбивать данные по колонкам :( Пока хлеб мой - PHP, но у меня серьезные намерения на Java, и как бы не очень приятно было бы, если бы проект в корне своем заложил Velocity, а тут такой тяжелый подарок. Поэтому и необходимо знать еще 1 прием генерации шаблонов, чтоб не подловили меня. И вы наверно, сами видите, что Velocity в этом примере потерял свою стройность. ЗЫ. Я не противник Velocity, но стоит смотреть правде в лицо. |
|||
|
||||
| ivg |
|
||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 32 Всего: 81 |
Смари...
Ну что насчёт стройности? |
||||
|
|||||
| SuperFly |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
ivg, на самом деле, немного смелкалки и натасканости в Velocity действительно делает его поистине магическим инструментом!!!
ivg заслуживает поощрения! Модераторы, прошу учесть. Добавлено через 2 минуты и 19 секунд Удивительно, я просто в восхищении!!! насколько прост оказался код. |
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 10 Всего: 40 |
+1 Сделано.
ПС. Зачем модераторы? У них своих дел навалом. |
|||
|
||||
| SuperFly |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 19.11.2007 Репутация: нет Всего: нет |
Знаете, к какому выводу я пришел.
Я буду делать следующим образом вложенные компоненты:
Вложенный шаблон я вставляю вот так: $main.display($out) Оказалось удобнее всего. |
||||||||
|
|||||||||
![]()
|
| Правила форума "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. |