|
Модераторы: LSD, AntonSaburov |
|
Wowa |
|
|||
Эксперт Профиль Группа: Админ Сообщений: 15017 Регистрация: 14.9.2000 Где: Винград Репутация: нет Всего: 290 |
Прочитал статью: http://forum.vingrad.ru/index.php?showtopi...l=pdf&st=15 и возник вопрос, чем собственно Velocity лучше
связки XSLT+XML ? |
|||
|
||||
tux |
|
|||
Летатель Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Напишу что я об этом думаю, возможно это спорное мнение, но для того и форум чтобы спорить. По-моему, ничем не лучше по той простой причине что это разные вещи. В чем достоинства XSLT (не в сравнении с Velocity, а вообще)? В том, что мы можем взять некий XML, описывающий какой-то предмет, образ, да что угодно, применить к нему заранее подготовленный XSLT и получить на выходе документ в любом формате - простой текст, другой XML-документ, HTML-страницу, PDF и т.п. Причем такая гибкость дает возможность за счет замены XSLT-таблицы получить документ совершенно другого формата и другого оформления. Что нам дает Velocity? Возможность очень простой динамической генерации любого текста (насколько я знаю Velocity не умеет работать с двоичными данными, если кто-то знает обратное, меня поправит). Нужно всего три шага - инициализировать движок, создать контекст (набор переменных, которые будут использоваться при генерации текста) и, собственно, сгенерировать что нужно из заданного контекста. В результате получим HTML, XML или что-то еще текстовое. Вообще говоря, ни то ни другое не ограничено применением только в веб. Вот еще в чем загвоздка - в чистом виде XSLT для веб использовать сложно. Нам ведь нужно где-то взять исходный XML-документ. Можно, конечно, взять и сгенерить DOM-модель на основе каких-то динамических данных приложения, на которую наложить XSLT и получить результат. Однако, это ведь слишком сложно и практически нереально для большого приложения. А вот здесь и может пригодиться способность Velocity генерировать текст используя динамическую информацию. Как вам такой вариант:
С другой стороны, если нужно только веб-приложение, которому не нужно ничего кроме HTML, то XSLT мне кажется лишним. Исключение если уже существующее приложение само генерит XML-документы. В этом случае проще использовать Velocity в чистом виде, а о его достоинствах уже много говорилось. Ну и в конце резюме:
|
|||
|
||||
3,14 |
|
|||
Эксперт Профиль Группа: Участник Клуба Сообщений: 1614 Регистрация: 18.6.2004 Где: Н. Новгород Репутация: 3 Всего: 24 |
С расширением обычного приложения, работающего только с HTML, до поддержки XML особых проблемм нет, если приложение правильно спроектированно. Просто нужно помещать обьеты для передачи в JSP в SessionBean-ы, для того чтоб расширить приложение до поддержки XML нам только понадобиться написать класс преобразующий набор обьектов из SessionBean в XML. Причём как правило достаточно использовать для этой цели java.beans.XMLEncoder.
-------------------- Может быть, это только мой бред, Может быть, жизнь не так хороша, Может быть, я не выйду на свет, Но я летал, когда пела душа... |
|||
|
||||
Правила форума "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. |