Apache Velocity

Apache Velocity
Apache Velocity
Логотип Jakarta Velocity
Тип

Обработчик шаблонов

Разработчик

Apache Software Foundation

Написана на

Java

Операционная система

Кроссплатформенное ПО

Последняя версия

1.7 (29 ноября 2010)

Лицензия

Apache 2.0 license

Сайт

velocity.apache.org

Apache Velocity — является проектом с открытым исходным кодом, развиваемый Apache Software Foundation. Ранее Apache Velocity был известен как Jakarta Velocity и входил в состав зонтичного проекта Apache Jakarta Project, но впоследствии был выделен в самостоятельный, популярный проект. Velocity это процессор шаблонов (обработчик шаблонов) базирующийся на Java, который обеспечивает простой, но мощный шаблонный язык не требующий предварительной подготовки модели переменных для шаблона — в шаблон просто передаются ссылки на Java-объекты, а обработчик разбирает указанные методы и посредством Java reflection получает их значения. Его цель состоит в том, чтобы гарантировать чистое разделение между уровнем представления и бизнес уровнем в Веб-приложении (шаблон проектирования Model-View-Controller), однако он не ограничен областью Веб-приложений.

Содержание

Использование

Некоторые общие типы приложений которые могут использовать Velocity:

  • Веб-приложения: Веб-дизайнеры создают HTML-страницы с указателями места заполнения которые будут динамически заменены необходимой информацией. Страницы могут обрабатываются с помощью VelocityViewServlet или любым другим из множества фреймворков, которые поддерживают Velocity.
  • Генерация исходного кода: Velocity может использоваться для генерации кода Java, SQL, PostScript, JavaScript, Perl и пр., базирующегося на шаблоне. Множество коммерческих пакетов программного обеспечения и пакетов программного обеспечения с открытым исходным кодом используют Velocity таким способом.[1]
  • Автоматические электронные письма: Существует множество приложений генерирующих автоматические электронные письма для регистрации учетных записей, напоминания забытых паролей или письма содержащие автоматически сгенерированные отчеты. При помощи Velocity, шаблон электронного письма может быть сохранен в виде текстового файла, а не непосредственно встроен в Java код.
  • XML-преобразование: Velocity обеспечивает задачу Ant, названную Anakia, которая читает XML-файл и делает его доступным шаблону Velocity. Общее приложение должно преобразовать документацию, сохраненную в универсальном формате «xdoc» в стилизованный документ HTML.

Пример кода

Пример использования шаблона, и простого Java приложения. Исходный текст шаблона с именем template.vm

## Шаблон с именем template.vm
<html>
    <body>
       ## $foo - это переменная шаблона
       Hello $foo World!
    </body>
</html>

С помощью символов «##» помечаются однострочные комментарии, символ «$» определяет, что за ним в шаблоне следует имя переменной.

Исходный Java-код приложения, связывающего переменную «name» в Java коде и переменную «$foo» в шаблоне:

import java.io.*;
import org.apache.velocity.*;
import org.apache.velocity.app.Velocity;
 
public class HelloVelocityWorld {
        public static void main(String[] args) throws IOException {
 
                Velocity.init(); // инициализация Velocity
                VelocityContext vc = new VelocityContext(); // создание контекста Velocity
                String name = "Velocity";
                vc.put("foo", name); // атрибут "name" связывается с именем переменной $foo в шаблоне и помещается в контекст
 
                Template template = Velocity.getTemplate("template.vm", "utf-8"); // загрузка шаблона с именем template.vm
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); // создается выходной поток
                template.merge(vc, bw); // метод merge() принимает набор данных в виде объекта "vc" и объект потока "bw"              
                bw.flush();
                bw.close();
        }
}

в результате Velocity сгенерирует следующий текст документа:

<html>
    <body>
     Hello Velocity World!
    </body>
</html>

Синтаксис и общие концепции шаблона Apache Velocity очень похожи на синтаксис более раннего обработчика шаблонов WebMacro[2], который теперь также является проектом с открытым исходным кодом.

См. также

Литература

  • Роб Харроп, Ян Дарвин Pro Jakarta Velocity: From Professional to Expert. — 1-е изд. — Apress, 2004. — 370 с. — ISBN 978-1590594100
  • Джим Коул, Джосеф Д. Гродески Mastering Apache Velocity. — 1-е изд. — Wiley, 2003. — 372 с. — ISBN 978-0471457947

Примечания

  1. PoweredByVelocity. Velocity Wiki. Wiki.apache.org (30 декабря 2009). Архивировано из первоисточника 27 июля 2012. Проверено 3 апреля 2011.
  2. Apache Velocity — Overview. Раздел Acknowledgement. velocity.apache.org (30 ноября 2010). Архивировано из первоисточника 27 июля 2012. Проверено 29 сентября 2011.

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Apache Velocity" в других словарях:

  • Apache Velocity — Entwickler Apache Software Foundation Aktuelle Version 1.7 (29. November 2010[1]) Betriebssystem plattformunabhängig Programmie …   Deutsch Wikipedia

  • Apache Velocity — Développeur Fondation Apache Dernière version …   Wikipédia en Français

  • Apache Velocity — Infobox Software name = Apache Velocity caption = developer = Apache Software Foundation latest release version = 1.5 latest release date = release date|2007|03|06 latest preview version = latest preview date = operating system = Cross platform… …   Wikipedia

  • Velocity (informatique) — Apache Velocity Apache Velocity Développeur Fondation Apache Dernière vers …   Wikipédia en Français

  • Velocity — Apache Velocity Тип Платформа программирования Разработчик Apache Software Foundation ОС Кроссплатформенное программное обеспечение Версия 1.5 Лицензия Apache 2.0 license Сайт …   Википедия

  • Velocity (disambiguation) — Velocity can mean: * Velocity in physics * Speed * Velocity (biochemistry), a subject of Michaelis Menten kinetics in biochemistry. * Velocity (novel), by US author Dean Koontz * Velocity (newspaper), a weekly alternative newspaper in Louisville …   Wikipedia

  • Apache-Lizenz 2.0 — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

  • Apache License — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

  • Apache Lizenz — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

  • Apache Software License — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»