WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Apache Velocity
Тип Шаблонизатор
Разработчик Apache Software Foundation
Написана на Java
Операционная система Кроссплатформенное ПО
Аппаратная платформа Java Virtual Machine
Последняя версия 2.0 (06 августа 2017)
Лицензия 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). Проверено 3 апреля 2011. Архивировано 27 июля 2012 года.
  2. Apache Velocity — Overview. Раздел Acknowledgement. velocity.apache.org (30 ноября 2010). Проверено 29 сентября 2011. Архивировано 27 июля 2012 года.

Ссылки


Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии