Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Apache Velocity, впервые выпущенный в апреле 2001 года, представляет собой механизм шаблонов на основе Java , который предоставляет язык шаблонов для ссылок на объекты, определенные в коде Java. Он направлен на обеспечение четкого разделения между уровнем представления и бизнес-уровнями в веб-приложении ( шаблон проектирования модель – представление – контроллер ).

Velocity - это проект программного обеспечения с открытым исходным кодом, поддерживаемый Apache Software Foundation . Он выпущен под лицензией Apache License . Джон Скотт Стивенс получил название от AltiVec Velocity Engine в микросхеме PowerPC G4 .

Использует [ редактировать ]

Вот некоторые распространенные типы приложений, использующих Velocity:

  • AWS API Gateway body mapping template
    Шаблон отображения тела AWS API Gateway.
    Веб-приложения : Веб-разработчики визуализируют структуры HTML- страниц. Контент заполнен динамической информацией. Страница обрабатывается с помощью VelocityViewServlet или любого из множества фреймворков, поддерживающих Velocity.
  • Генерация исходного кода : Velocity можно использовать для генерации исходного кода Java , SQL или PostScript на основе шаблонов . Таким образом Velocity используется в ряде программных пакетов с открытым исходным кодом и коммерческих программных продуктов . [2]
  • Автоматические электронные письма : многие приложения автоматически генерируют электронные письма для регистрации учетной записи, напоминания пароля или автоматически отправляемых отчетов. Используя Velocity, шаблон электронной почты можно сохранить в текстовом файле , а не непосредственно встраивать в код Java.
  • Преобразование XML : Velocity предоставляет задачу Ant под названием Anakia, которая считывает файл XML и делает его доступным для шаблона Velocity. Распространенным приложением является преобразование документации по программному обеспечению, хранящейся в общем формате «xdoc», в стилизованный HTML-документ.
  • AWS API Gateway использует механизм Apache Velocity для шаблонов отображения тела - выводится JSON .

Примеры кода [ править ]

Следующий шаблон :

## Velocity Hello World < html >  < body >  # set (  $ foo  =  "Velocity"  )  ##, за которым следует Hello $ foo World! </ body > </ html >

обработанный Velocity создает следующий HTML:

< html >  < тело > Привет, мир скорости! </ body > </ html >

Другой пример с использованием условий:

# if (  $ foo  <  10  ) ** На север ** # elseif (  $ foo  ==  10  ) ** На восток ** # elseif (  $ bar  ==  6  ) ** На юг ** # else ** На запад ** # конец

Шаблон сопоставления тела AWS API Gateway для DynamoDB HTTP:

{ "TableName": "happy-  marketer ", "KeyConditionExpression": "pk =: pk AND begin_with (sk,: sk)", # if ($ input . Params ( 'projectStatus' ) == 'archived' )    "FilterExpression": "projectStatus =: Archived", # else  "FilterExpression": "projectStatus =: InProgress OR projectStatus =: Completed", # end  "ExpressionAttributeValues": { ": pk": { "S": "project"  },  ": sk": { "S": " $ context . Authorizer . Claims . Email "  }, # if ($ input . Params ( 'projectStatus' ) == 'archived' )    ": Архивировано": { "S": "Архивировано"  } # else  ": InProgress": { «S»: «Выполняется»  },  «: Завершено»: { "S": "Completed"  } # конец  } }

Другой пример с необязательным массивом ; без условия не удастся из-за недопустимого результирующего JSON:

{ "email": " $ context . authorizer . requests . email " # if ($ input . params ( 'countries' ) ! = "" )    , "страны": $ input . params ( 'страны' ) # конец}

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

См. Также [ править ]

  • Крутящий момент Apache
  • FreeMarker
  • JavaServer Pages
  • Тимелист

Ссылки [ править ]

  1. ^ "Скорость Apache - Новости проекта" . скорость.apache.org . Фонд программного обеспечения Apache . Проверено 2 апреля 2021 .
  2. ^ "PoweredByVelocity" . Вики по скорости . Wiki.apache.org. 2009-12-30. Архивировано 23 марта 2010 года . Проверено 29 марта 2010 .

Библиография [ править ]

  • Харроп, Роб; Дарвин, Ян (30 августа 2004 г.), Pro Jakarta Velocity: от профессионала к эксперту (1-е изд.), Apress , стр. 370, ISBN 978-1-59059-410-0, заархивировано из оригинала 5 июля 2009 г. , извлечено 4 сентября 2009 г.
  • Коул, Джим; Д. Градеки, Джозеф (16 июля 2003 г.), Освоение скорости Apache (1-е изд.), Wiley , стр. 372, ISBN 978-0-471-45794-7, archived from the original on October 7, 2012, retrieved September 4, 2009

External links[edit]

  • Velocity at Apache
  • User guide