Скорость против Apache Tiles - PullRequest
       16

Скорость против Apache Tiles

6 голосов
/ 11 февраля 2011

Что лучше?Мы собираемся начать новый веб-проект, и вопрос в том, какую технологию выбрать.Проект включает в себя Spring MVC + WebFlow.Есть хороший / плохой опыт в поддержке, расширении, производительности?

Спасибо.

Ответы [ 5 ]

7 голосов
/ 29 августа 2012

Velocity и Tiles - два разных зверя - Tiles - это механизм разметки, а Velocity - это механизм шаблонов. Они нигде не пересекаются с точки зрения функциональности.

По вашему вопросу, я думаю, вы, вероятно, не будете использовать JSP. Это умный ход. Velocity - один из шаблонных движков, и он делает великолепную работу.

И если вы решите следовать маршруту шаблона движка для своего просмотра, тогда посмотрите commentit . Это небольшой, простой и быстрый механизм компоновки, который я создал. Это может послужить вашей цели отлично.

7 голосов
/ 11 февраля 2011

Как вы хотите сравнить плитки с Velocity?- Tiles - это способ создания фрагментов страницы, в то время как Veleocity - более полный шаблонный движок, лучше сопоставимый с JSP, чем Tiles.

В любом случае: я использовал Spring MVC с Tiles и JSP: он работал отлично, много сэкономилвремени (только на использование JSP или JSP с Sitemash), и я не заметил никаких проблем с производительностью.(Но веб-приложение никогда не использовалось при высокой нагрузке.)

6 голосов
/ 08 января 2014

Используйте Tiles , если у вас есть несколько HTML файлов, которые вы хотите объединить в шаблоне (т. Е. У вас есть отдельная страница для верхнего, нижнего и нижнего колонтитулов, и вы хотите собрать их вместе).и отображать их в виде газетного формата).

Используйте Velocity , если вы хотите перенести динамический контент через Java бэкэнд и вставить эти значения в полный HTML страница (т. е. у вас есть таблица HTML для отображения выбора автомобилей, и все ваши автомобили хранятся в базе данных. Используя JPA, вы можете получить эти данные автомобилей из базы данных и в List<Car> поддерживается в * Bean EJB, Spring @Component или аналогичном. Затем, используя Velocity, вы можете сохранить эту информацию как элемент корзины внутри Map и использовать разметку VTL для ссылки на ключэлементы значения в Map, чтобы их можно было отобразить как часть ответа HTML.

Для достижения вышеизложенного Velocity позиционирует себя как прямой сервлет Front Controller или оборачивается другимИнфраструктура MVC (т. Е. Spring MVC предоставляет View Resolver, который включает функциональность, предоставляемую сервлетом Velocity).

HTML запросы направляются сервлету Velocity или альтернативному сервлету MVC Framework через конфигурацию web.xml.Как часть ответа сервлета, ваше предварительно запеченное представление HTML, дополненное разметкой Velocity VTL, обогащено данными Map.

Эффективно и в итоге:

Скорость конкурирует в том же пространстве, что и JSP.

Tiles больше похож на включение страниц.В PHP-пространстве Smarty является популярным двоюродным братом.

Вы не можете выбирать между ними, но вполне можете использовать обоих .

2 голосов
/ 13 февраля 2011

Существует плагин Velocity для Tiles 2.2, так что вы можете использовать оба - со скоростью вы будете получать доступ к контексту и динамически строить свои кирпичики, как с помощью JSP, и плитки будут объединять кирпичи вашего сайта. Однако Tiles не позволяет выполнять много операций (по крайней мере, я их еще не обнаружил), и его документация очень старая и плохая по сравнению, например, с Spring или JSF. Таким образом, вы можете рассмотреть возможность использования другой технологии.

У меня есть ссылки на Tiles в моем прямом проекте, потому что Roo сделал это для меня, но сейчас я перевожу все в JSF.

1 голос
/ 11 февраля 2011

Используйте оба.Tiles и Velocity очень хорошо интегрируются и решают разные задачи.Вы можете сделать кое-что с Tiles-ish с помощью директив Velocity #include и #parse, но Tiles делает эту композицию лучше.

...