CINXE.COM
Apache Velocity - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Apache Velocity - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"8a940bb2-aeb1-4314-a9b1-bffe2a1e6fcb","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Apache_Velocity","wgTitle":"Apache Velocity","wgCurRevisionId":1220261783,"wgRevisionId":1220261783,"wgArticleId":2285690,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles lacking in-text citations from March 2010","All articles lacking in-text citations","All articles with unsourced statements","Articles with unsourced statements from January 2011","All stub articles","Apache Software Foundation projects","Java (programming language) libraries","Template engines","Computer programming tool stubs"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Apache_Velocity", "wgRelevantArticleId":2285690,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":7000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q617156","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform", "platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips", "ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Apache Velocity - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Apache_Velocity"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Apache_Velocity&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Apache_Velocity"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Apache_Velocity rootpage-Apache_Velocity skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Apache+Velocity" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Apache+Velocity" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Apache+Velocity" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Apache+Velocity" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Uses" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Uses"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Uses</span> </div> </a> <ul id="toc-Uses-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Code_examples" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Code_examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Code examples</span> </div> </a> <ul id="toc-Code_examples-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bibliography" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Bibliography"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Bibliography</span> </div> </a> <ul id="toc-Bibliography-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Apache Velocity</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 11 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-11" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">11 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Jakarta_Velocity" title="Jakarta Velocity – Catalan" lang="ca" hreflang="ca" data-title="Jakarta Velocity" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – German" lang="de" hreflang="de" data-title="Apache Velocity" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – French" lang="fr" hreflang="fr" data-title="Apache Velocity" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – Italian" lang="it" hreflang="it" data-title="Apache Velocity" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – Hungarian" lang="hu" hreflang="hu" data-title="Apache Velocity" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – Japanese" lang="ja" hreflang="ja" data-title="Apache Velocity" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Velocity" title="Velocity – Polish" lang="pl" hreflang="pl" data-title="Velocity" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – Russian" lang="ru" hreflang="ru" data-title="Apache Velocity" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%AD%E0%B8%B0%E0%B9%81%E0%B8%9E%E0%B8%8A%E0%B8%B5_%E0%B9%80%E0%B8%A7%E0%B9%82%E0%B8%A5%E0%B8%8B%E0%B8%B4%E0%B8%95%E0%B8%B5" title="อะแพชี เวโลซิตี – Thai" lang="th" hreflang="th" data-title="อะแพชี เวโลซิตี" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – Turkish" lang="tr" hreflang="tr" data-title="Apache Velocity" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Apache_Velocity" title="Apache Velocity – Chinese" lang="zh" hreflang="zh" data-title="Apache Velocity" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q617156#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Apache_Velocity" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Apache_Velocity" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Apache_Velocity"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Apache_Velocity&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Apache_Velocity&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Apache_Velocity"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Apache_Velocity&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Apache_Velocity&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Apache_Velocity" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Apache_Velocity" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Apache_Velocity&oldid=1220261783" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Apache_Velocity&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Apache_Velocity&id=1220261783&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FApache_Velocity"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FApache_Velocity"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Apache_Velocity&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Apache_Velocity&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Apache_Velocity" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q617156" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">For the Microsoft project codenamed Velocity, see <a href="/wiki/Velocity_(memory_cache)" class="mw-redirect" title="Velocity (memory cache)">Velocity (memory cache)</a>.</div> <style data-mw-deduplicate="TemplateStyles:r1251242444">.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}</style><table class="box-More_footnotes_needed plainlinks metadata ambox ambox-style ambox-More_footnotes_needed" role="presentation"><tbody><tr><td class="mbox-image"><div class="mbox-image-div"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/40px-Text_document_with_red_question_mark.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/60px-Text_document_with_red_question_mark.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/80px-Text_document_with_red_question_mark.svg.png 2x" data-file-width="48" data-file-height="48" /></span></span></div></td><td class="mbox-text"><div class="mbox-text-span">This article includes a list of <a href="/wiki/Wikipedia:Citing_sources#General_references" title="Wikipedia:Citing sources">general references</a>, but <b>it lacks sufficient corresponding <a href="/wiki/Wikipedia:Citing_sources#Inline_citations" title="Wikipedia:Citing sources">inline citations</a></b>.<span class="hide-when-compact"> Please help to <a href="/wiki/Wikipedia:WikiProject_Reliability" title="Wikipedia:WikiProject Reliability">improve</a> this article by <a href="/wiki/Wikipedia:When_to_cite" title="Wikipedia:When to cite">introducing</a> more precise citations.</span> <span class="date-container"><i>(<span class="date">March 2010</span>)</i></span><span class="hide-when-compact"><i> (<small><a href="/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this message</a></small>)</i></span></div></td></tr></tbody></table> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">Apache Velocity</caption><tbody><tr><td colspan="2" class="infobox-image logo"><span class="mw-default-size" typeof="mw:File/Frameless"><a href="/wiki/File:Apache_Velocity_logo.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Apache_Velocity_logo.svg/220px-Apache_Velocity_logo.svg.png" decoding="async" width="220" height="43" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Apache_Velocity_logo.svg/330px-Apache_Velocity_logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Apache_Velocity_logo.svg/440px-Apache_Velocity_logo.svg.png 2x" data-file-width="1433" data-file-height="282" /></a></span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="/wiki/Apache_Software_Foundation" class="mw-redirect" title="Apache Software Foundation">Apache Software Foundation</a></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">2.3 / February 27, 2021<span class="noprint">; 3 years ago</span><span style="display:none"> (<span class="bday dtstart published updated">2021-02-27</span>)</span><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://svn.apache.org/repos/asf/velocity/engine/">Velocity Repository</a></span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Operating_system" title="Operating system">Operating system</a></th><td class="infobox-data"><a href="/wiki/Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="/wiki/Template_engine_(web)" class="mw-redirect" title="Template engine (web)">Template engine</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="/wiki/Apache_License_2.0" class="mw-redirect" title="Apache License 2.0">Apache License 2.0</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://velocity.apache.org/">velocity<wbr />.apache<wbr />.org</a></span></td></tr></tbody></table> <p><b>Apache Velocity</b> first released in April 2001, is a <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>-based <a href="/wiki/Template_engine_(web)" class="mw-redirect" title="Template engine (web)">template engine</a> that provides a <a href="/wiki/Web_template" class="mw-redirect" title="Web template">template language</a> to reference <a href="/wiki/Object_(computer_science)" title="Object (computer science)">objects</a> defined in Java code. It aims to ensure clean separation between the presentation tier and business tiers in a <a href="/wiki/Web_application" title="Web application">Web application</a> (the <a href="/wiki/Model%E2%80%93view%E2%80%93controller" title="Model–view–controller">model–view–controller</a> design pattern). </p><p>Velocity is an <a href="/wiki/Open-source_software" title="Open-source software">open source</a> software project hosted by the <a href="/wiki/Apache_Software_Foundation" class="mw-redirect" title="Apache Software Foundation">Apache Software Foundation</a>. It is released under the <a href="/wiki/Apache_License" title="Apache License">Apache License</a>. <a href="/w/index.php?title=Jon_Scott_Stevens&action=edit&redlink=1" class="new" title="Jon Scott Stevens (page does not exist)">Jon Scott Stevens</a> derived the name from the <a href="/wiki/AltiVec" title="AltiVec">AltiVec</a> Velocity Engine in the <a href="/wiki/PowerPC_G4" title="PowerPC G4">PowerPC G4</a> chip. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Uses">Uses</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Apache_Velocity&action=edit&section=1" title="Edit section: Uses"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Some common types of applications that use Velocity are: </p> <ul><li><figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Aws-api-gateway--body-mapping-template.png" class="mw-file-description"><img alt="AWS API Gateway body mapping template" src="//upload.wikimedia.org/wikipedia/commons/thumb/7/72/Aws-api-gateway--body-mapping-template.png/220px-Aws-api-gateway--body-mapping-template.png" decoding="async" width="220" height="195" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/72/Aws-api-gateway--body-mapping-template.png/330px-Aws-api-gateway--body-mapping-template.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/72/Aws-api-gateway--body-mapping-template.png/440px-Aws-api-gateway--body-mapping-template.png 2x" data-file-width="1920" data-file-height="1698" /></a><figcaption>AWS API Gateway body mapping template.</figcaption></figure><a href="/wiki/Web_application" title="Web application">Web applications</a>: <a href="/wiki/Web_developer" title="Web developer">Web developers</a> render <a href="/wiki/HTML" title="HTML">HTML</a> page structures. The content is populated with dynamic information. The page is processed with <i>VelocityViewServlet</i> or any of a number of frameworks that support Velocity.</li> <li><a href="/wiki/Source_code" title="Source code">Source code</a> generation: Velocity can be used to generate <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="/wiki/SQL" title="SQL">SQL</a>, or <a href="/wiki/PostScript" title="PostScript">PostScript</a> source code, based on <a href="/wiki/Web_template" class="mw-redirect" title="Web template">templates</a>. A number of <a href="/wiki/Open-source_software" title="Open-source software">open source</a> and commercial development <a href="/wiki/Software_package_(installation)" class="mw-redirect" title="Software package (installation)">software packages</a> use Velocity in this manner.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></li> <li>Automatic <a href="/wiki/Email" title="Email">emails</a>: Many applications generate automatic emails for account signup, <a href="/wiki/Password" title="Password">password</a> reminders, or automatically sent reports. Using Velocity, the email <a href="/wiki/Web_template" class="mw-redirect" title="Web template">template</a> can be stored in a <a href="/wiki/Text_file" title="Text file">text file</a>, rather than directly embedded in Java code.</li> <li><a href="/wiki/XML" title="XML">XML</a> transformation: Velocity provides an <a href="/wiki/Apache_Ant" title="Apache Ant">Ant</a> task, called Anakia, which reads an XML file and makes it available to a Velocity template. A common application is to convert <a href="/wiki/Software_documentation" title="Software documentation">software documentation</a> stored in a generic "xdoc" format into a styled HTML document.</li> <li><a href="/w/index.php?title=AWS_API_Gateway&action=edit&redlink=1" class="new" title="AWS API Gateway (page does not exist)">AWS API Gateway</a> uses Apache Velocity engine for body mapping templates - <a href="/wiki/JSON" title="JSON">JSON</a> is output.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Code_examples">Code examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Apache_Velocity&action=edit&section=2" title="Edit section: Code examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The following <a href="/wiki/Web_template" class="mw-redirect" title="Web template">template</a>: </p> <div class="mw-highlight mw-highlight-lang-html+velocity mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">##</span><span class="c"> Velocity Hello World</span> <span class="p"><</span><span class="nt">html</span><span class="p">></span> <span class="p"><</span><span class="nt">body</span><span class="p">></span> <span class="cp">#</span><span class="nf">set</span><span class="p">(</span> <span class="p">$</span><span class="nv">foo</span> <span class="o">=</span> <span class="s2">"Velocity"</span> <span class="p">)</span> <span class="cp">##</span><span class="c"> followed by</span> Hello <span class="p">$</span><span class="nv">foo</span> World! <span class="p"></</span><span class="nt">body</span><span class="p">></span> <span class="p"></</span><span class="nt">html</span><span class="p">></span> </pre></div> <p>processed by Velocity produces the following HTML: </p> <div class="mw-highlight mw-highlight-lang-html mw-content-ltr" dir="ltr"><pre><span></span><span class="p"><</span><span class="nt">html</span><span class="p">></span> <span class="p"><</span><span class="nt">body</span><span class="p">></span> Hello Velocity World! <span class="p"></</span><span class="nt">body</span><span class="p">></span> <span class="p"></</span><span class="nt">html</span><span class="p">></span> </pre></div><p> Another example using conditions:</p><div class="mw-highlight mw-highlight-lang-velocity mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#</span><span class="nf">if</span><span class="p">(</span> <span class="p">$</span><span class="nv">foo</span> <span class="o"><</span> <span class="m">10</span> <span class="p">)</span> <span class="x"> **Go North**</span> <span class="cp">#</span><span class="nf">elseif</span><span class="p">(</span> <span class="p">$</span><span class="nv">foo</span> <span class="o">==</span> <span class="m">10</span> <span class="p">)</span> <span class="x"> **Go East**</span> <span class="cp">#</span><span class="nf">elseif</span><span class="p">(</span> <span class="p">$</span><span class="nv">bar</span> <span class="o">==</span> <span class="m">6</span> <span class="p">)</span> <span class="x"> **Go South**</span> <span class="cp">#</span><span class="nf">else</span> <span class="x"> **Go West**</span> <span class="cp">#</span><span class="nf">end</span> </pre></div><p>AWS API Gateway body mapping template, for <a href="/wiki/Amazon_DynamoDB" title="Amazon DynamoDB">DynamoDB</a> HTTP:</p><div class="mw-highlight mw-highlight-lang-velocity mw-content-ltr" dir="ltr"><pre><span></span><span class="err">{</span> <span class="x"> "TableName": "happy-marketer",</span> <span class="x"> "KeyConditionExpression": "pk = :pk AND begins_with(sk, :sk)",</span> <span class="x"> </span><span class="cp">#</span><span class="nf">if</span><span class="p"> ($</span><span class="nv">input</span><span class="p">.</span><span class="nv">params</span><span class="p">(</span><span class="s1">'projectStatus'</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'archived'</span><span class="p">)</span> <span class="x"> "FilterExpression": "projectStatus = :Archived",</span> <span class="x"> </span><span class="cp">#</span><span class="nf">else</span> <span class="x"> "FilterExpression": "projectStatus = :InProgress OR projectStatus = :Completed",</span> <span class="x"> </span><span class="cp">#</span><span class="nf">end</span> <span class="x"> "ExpressionAttributeValues": </span><span class="err">{</span> <span class="x"> ":pk": </span><span class="err">{</span> <span class="x"> "S": "project"</span> <span class="x"> },</span> <span class="x"> ":sk": </span><span class="err">{</span> <span class="x"> "S": "</span><span class="p">$</span><span class="nv">context</span><span class="p">.</span><span class="nv">authorizer</span><span class="p">.</span><span class="nv">claims</span><span class="p">.</span><span class="nv">email</span><span class="x">"</span> <span class="x"> },</span> <span class="x"> </span><span class="cp">#</span><span class="nf">if</span><span class="p"> ($</span><span class="nv">input</span><span class="p">.</span><span class="nv">params</span><span class="p">(</span><span class="s1">'projectStatus'</span><span class="p">)</span> <span class="o">==</span> <span class="s1">'archived'</span><span class="p">)</span> <span class="x"> ":Archived": </span><span class="err">{</span> <span class="x"> "S": "Archived"</span> <span class="x"> }</span> <span class="x"> </span><span class="cp">#</span><span class="nf">else</span> <span class="x"> ":InProgress": </span><span class="err">{</span> <span class="x"> "S": "In Progress"</span> <span class="x"> },</span> <span class="x"> ":Completed": </span><span class="err">{</span> <span class="x"> "S": "Completed"</span> <span class="x"> }</span> <span class="x"> </span><span class="cp">#</span><span class="nf">end</span> <span class="x"> }</span> <span class="x">}</span> </pre></div><p>Another example with <a rel="nofollow" class="external text" href="https://stackoverflow.com/questions/38647604/api-gateway-body-mapping-template-optional-body-parameters">optional array</a>; without condition will fail because of invalid resulting JSON:</p><div class="mw-highlight mw-highlight-lang-velocity mw-content-ltr" dir="ltr"><pre><span></span><span class="err">{</span> <span class="x"> "email": "</span><span class="p">$</span><span class="nv">context</span><span class="p">.</span><span class="nv">authorizer</span><span class="p">.</span><span class="nv">claims</span><span class="p">.</span><span class="nv">email</span><span class="x">"</span> <span class="x"> </span><span class="cp">#</span><span class="nf">if</span><span class="p"> ($</span><span class="nv">input</span><span class="p">.</span><span class="nv">params</span><span class="p">(</span><span class="s1">'countries'</span><span class="p">)</span> <span class="o">!=</span> <span class="s2">""</span><span class="p">)</span> <span class="x"> , "countries": </span><span class="p">$</span><span class="nv">input</span><span class="p">.</span><span class="nv">params</span><span class="p">(</span><span class="s1">'countries'</span><span class="p">)</span> <span class="x"> </span><span class="cp">#</span><span class="nf">end</span> <span class="x">}</span> </pre></div><p>The syntax and overall concept of the Apache Velocity templates is similar to the syntax of the older <a href="/wiki/WebMacro" title="WebMacro">WebMacro</a> template engine, which is now also an open source project. <sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (January 2011)">citation needed</span></a></i>]</sup> </p><div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Apache_Velocity&action=edit&section=3" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239009302">.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{clear:left;float:left;margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}</style><ul role="navigation" aria-label="Portals" class="noprint portalbox portalborder portalright"> <li class="portalbox-entry"><span class="portalbox-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/28px-Free_and_open-source_software_logo_%282009%29.svg.png" decoding="async" width="28" height="28" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/42px-Free_and_open-source_software_logo_%282009%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/56px-Free_and_open-source_software_logo_%282009%29.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></span><span class="portalbox-link"><a href="/wiki/Portal:Free_and_open-source_software" title="Portal:Free and open-source software">Free and open-source software portal</a></span></li></ul> <ul><li><a href="/w/index.php?title=Apache_Torque&action=edit&redlink=1" class="new" title="Apache Torque (page does not exist)">Apache Torque</a></li> <li><a href="/wiki/FreeMarker" title="FreeMarker">FreeMarker</a></li> <li><a href="/wiki/Jakarta_Server_Pages" title="Jakarta Server Pages">Jakarta Server Pages</a></li> <li><a href="/wiki/Thymeleaf" title="Thymeleaf">Thymeleaf</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Apache_Velocity&action=edit&section=4" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap"><ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://velocity.apache.org/news.html">"Apache Velocity - Project News"</a>. <i>velocity.apache.org</i>. Apache Software Foundation<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-04-02</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=velocity.apache.org&rft.atitle=Apache+Velocity+-+Project+News&rft_id=https%3A%2F%2Fvelocity.apache.org%2Fnews.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AApache+Velocity" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://wiki.apache.org/velocity/PoweredByVelocity">"PoweredByVelocity"</a>. <i>Velocity Wiki</i>. Wiki.apache.org. 2009-12-30. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100323223306/http://wiki.apache.org/velocity/PoweredByVelocity">Archived</a> from the original on 23 March 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Velocity+Wiki&rft.atitle=PoweredByVelocity&rft.date=2009-12-30&rft_id=http%3A%2F%2Fwiki.apache.org%2Fvelocity%2FPoweredByVelocity&rfr_id=info%3Asid%2Fen.wikipedia.org%3AApache+Velocity" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="Bibliography">Bibliography</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Apache_Velocity&action=edit&section=5" title="Edit section: Bibliography"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239549316">.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}</style><div class="refbegin" style=""> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHarropDarwin2004" class="citation cs2">Harrop, Rob; Darwin, Ian (August 30, 2004), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090705091506/http://www.apress.com/book/view/9781590594100"><i>Pro Jakarta Velocity: From Professional to Expert</i></a> (1st ed.), <a href="/wiki/Apress" class="mw-redirect" title="Apress">Apress</a>, p. 370, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-59059-410-0" title="Special:BookSources/978-1-59059-410-0"><bdi>978-1-59059-410-0</bdi></a>, archived from <a rel="nofollow" class="external text" href="http://www.apress.com/book/view/9781590594100">the original</a> on July 5, 2009<span class="reference-accessdate">, retrieved <span class="nowrap">September 4,</span> 2009</span></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Pro+Jakarta+Velocity%3A+From+Professional+to+Expert&rft.pages=370&rft.edition=1st&rft.pub=Apress&rft.date=2004-08-30&rft.isbn=978-1-59059-410-0&rft.aulast=Harrop&rft.aufirst=Rob&rft.au=Darwin%2C+Ian&rft_id=http%3A%2F%2Fwww.apress.com%2Fbook%2Fview%2F9781590594100&rfr_id=info%3Asid%2Fen.wikipedia.org%3AApache+Velocity" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFColeD._Gradecki2003" class="citation cs2">Cole, Jim; D. Gradecki, Joseph (July 16, 2003), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121007002812/http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471457949.html"><i>Mastering Apache Velocity</i></a> (1st ed.), <a href="/wiki/John_Wiley_%26_Sons" class="mw-redirect" title="John Wiley & Sons">Wiley</a>, p. 372, <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-471-45794-7" title="Special:BookSources/978-0-471-45794-7"><bdi>978-0-471-45794-7</bdi></a>, archived from <a rel="nofollow" class="external text" href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471457949.html">the original</a> on October 7, 2012<span class="reference-accessdate">, retrieved <span class="nowrap">September 4,</span> 2009</span></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Mastering+Apache+Velocity&rft.pages=372&rft.edition=1st&rft.pub=Wiley&rft.date=2003-07-16&rft.isbn=978-0-471-45794-7&rft.aulast=Cole&rft.aufirst=Jim&rft.au=D.+Gradecki%2C+Joseph&rft_id=http%3A%2F%2Fwww.wiley.com%2FWileyCDA%2FWileyTitle%2FproductCd-0471457949.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AApache+Velocity" class="Z3988"></span></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Apache_Velocity&action=edit&section=6" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="https://velocity.apache.org/">Velocity at Apache</a></li> <li><a rel="nofollow" class="external text" href="https://velocity.apache.org/engine/1.7/user-guide.html">User guide</a></li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="The_Apache_Software_Foundation" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Apache_Software_Foundation" title="Template:Apache Software Foundation"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Apache_Software_Foundation" title="Template talk:Apache Software Foundation"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Apache_Software_Foundation" title="Special:EditPage/Template:Apache Software Foundation"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="The_Apache_Software_Foundation" style="font-size:114%;margin:0 4em"><a href="/wiki/The_Apache_Software_Foundation" title="The Apache Software Foundation">The Apache Software Foundation</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Top-level<br />projects</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apache_Accumulo" title="Apache Accumulo">Accumulo</a></li> <li><a href="/wiki/Apache_ActiveMQ" title="Apache ActiveMQ">ActiveMQ</a></li> <li><a href="/wiki/Apache_Airavata" title="Apache Airavata">Airavata</a></li> <li><a href="/wiki/Apache_Airflow" title="Apache Airflow">Airflow</a></li> <li><a href="/wiki/Apache_Allura" title="Apache Allura">Allura</a></li> <li><a href="/wiki/Apache_Ambari" class="mw-redirect" title="Apache Ambari">Ambari</a></li> <li><a href="/wiki/Apache_Ant" title="Apache Ant">Ant</a></li> <li><a href="/wiki/Apache_Aries" title="Apache Aries">Aries</a></li> <li><a href="/wiki/Apache_Arrow" title="Apache Arrow">Arrow</a></li> <li><a href="/wiki/Apache_HTTP_Server" title="Apache HTTP Server">Apache HTTP Server</a></li> <li><a href="/wiki/Apache_Portable_Runtime" title="Apache Portable Runtime">APR</a></li> <li><a href="/wiki/Apache_Avro" title="Apache Avro">Avro</a></li> <li><a href="/wiki/Apache_Axis" title="Apache Axis">Axis</a></li> <li><a href="/wiki/Apache_Axis2" title="Apache Axis2">Axis2</a></li> <li><a href="/wiki/Apache_Beam" title="Apache Beam">Beam</a></li> <li><a href="/wiki/Apache_Bloodhound" class="mw-redirect" title="Apache Bloodhound">Bloodhound</a></li> <li><a href="/wiki/Apache_Brooklyn" title="Apache Brooklyn">Brooklyn</a></li> <li><a href="/wiki/Apache_Calcite" title="Apache Calcite">Calcite</a></li> <li><a href="/wiki/Apache_Camel" title="Apache Camel">Camel</a></li> <li><a href="/wiki/Apache_CarbonData" title="Apache CarbonData">CarbonData</a></li> <li><a href="/wiki/Apache_Cassandra" title="Apache Cassandra">Cassandra</a></li> <li><a href="/wiki/Apache_Cayenne" title="Apache Cayenne">Cayenne</a></li> <li><a href="/wiki/Apache_CloudStack" title="Apache CloudStack">CloudStack</a></li> <li><a href="/wiki/Apache_Cocoon" title="Apache Cocoon">Cocoon</a></li> <li><a href="/wiki/Apache_Cordova" title="Apache Cordova">Cordova</a></li> <li><a href="/wiki/Apache_CouchDB" title="Apache CouchDB">CouchDB</a></li> <li><a href="/wiki/Apache_cTAKES" title="Apache cTAKES">cTAKES</a></li> <li><a href="/wiki/Apache_CXF" title="Apache CXF">CXF</a></li> <li><a href="/wiki/Apache_Derby" title="Apache Derby">Derby</a></li> <li><a href="/wiki/Apache_Directory" title="Apache Directory">Directory</a></li> <li><a href="/wiki/Apache_Drill" title="Apache Drill">Drill</a></li> <li><a href="/wiki/Apache_Druid" title="Apache Druid">Druid</a></li> <li><a href="/wiki/Apache_Empire-db" title="Apache Empire-db">Empire-db</a></li> <li><a href="/wiki/Apache_Felix" title="Apache Felix">Felix</a></li> <li><a href="/wiki/Apache_Flex" title="Apache Flex">Flex</a></li> <li><a href="/wiki/Apache_Flink" title="Apache Flink">Flink</a></li> <li><a href="/wiki/Apache_Flume" class="mw-redirect" title="Apache Flume">Flume</a></li> <li><a href="/wiki/FreeMarker" title="FreeMarker">FreeMarker</a></li> <li><a href="/wiki/Apache_Geronimo" title="Apache Geronimo">Geronimo</a></li> <li><a href="/wiki/Apache_Groovy" title="Apache Groovy">Groovy</a></li> <li><a href="/wiki/Apache_Guacamole" title="Apache Guacamole">Guacamole</a></li> <li><a href="/wiki/Apache_Gump" title="Apache Gump">Gump</a></li> <li><a href="/wiki/Apache_Hadoop" title="Apache Hadoop">Hadoop</a></li> <li><a href="/wiki/Apache_HBase" title="Apache HBase">HBase</a></li> <li><a href="/wiki/Apache_Helix" title="Apache Helix">Helix</a></li> <li><a href="/wiki/Apache_Hive" title="Apache Hive">Hive</a></li> <li><a href="/wiki/Apache_Iceberg" title="Apache Iceberg">Iceberg</a></li> <li><a href="/wiki/Apache_Ignite" title="Apache Ignite">Ignite</a></li> <li><a href="/wiki/Apache_Impala" title="Apache Impala">Impala</a></li> <li><a href="/wiki/Apache_Jackrabbit" title="Apache Jackrabbit">Jackrabbit</a></li> <li><a href="/wiki/Apache_James" title="Apache James">James</a></li> <li><a href="/wiki/Apache_Jena" title="Apache Jena">Jena</a></li> <li><a href="/wiki/Apache_JMeter" title="Apache JMeter">JMeter</a></li> <li><a href="/wiki/Apache_Kafka" title="Apache Kafka">Kafka</a></li> <li><a href="/wiki/Apache_Kudu" title="Apache Kudu">Kudu</a></li> <li><a href="/wiki/Apache_Kylin" title="Apache Kylin">Kylin</a></li> <li><a href="/wiki/Apache_Lucene" title="Apache Lucene">Lucene</a></li> <li><a href="/wiki/Apache_Mahout" title="Apache Mahout">Mahout</a></li> <li><a href="/wiki/Apache_Maven" title="Apache Maven">Maven</a></li> <li><a href="/wiki/Apache_MINA" title="Apache MINA">MINA</a></li> <li><a href="/wiki/Mod_perl" title="Mod perl">mod_perl</a></li> <li><a href="/wiki/Apache_MyFaces" title="Apache MyFaces">MyFaces</a></li> <li><a href="/wiki/Apache_Mynewt" title="Apache Mynewt">Mynewt</a></li> <li><a href="/wiki/Apache_NiFi" title="Apache NiFi">NiFi</a></li> <li><a href="/wiki/NetBeans" title="NetBeans">NetBeans</a></li> <li><a href="/wiki/Apache_Nutch" title="Apache Nutch">Nutch</a></li> <li><a href="/wiki/NuttX" title="NuttX">NuttX</a></li> <li><a href="/wiki/Apache_OFBiz" title="Apache OFBiz">OFBiz</a></li> <li><a href="/wiki/Apache_Oozie" title="Apache Oozie">Oozie</a></li> <li><a href="/wiki/Apache_OpenEJB" title="Apache OpenEJB">OpenEJB</a></li> <li><a href="/wiki/Apache_OpenJPA" title="Apache OpenJPA">OpenJPA</a></li> <li><a href="/wiki/Apache_OpenNLP" title="Apache OpenNLP">OpenNLP</a></li> <li><a href="/wiki/Apache_OpenOffice" title="Apache OpenOffice">OрenOffice</a></li> <li><a href="/wiki/Apache_ORC" title="Apache ORC">ORC</a></li> <li><a href="/wiki/Apache_PDFBox" title="Apache PDFBox">PDFBox</a></li> <li><a href="/wiki/Apache_Parquet" title="Apache Parquet">Parquet</a></li> <li><a href="/wiki/Apache_Phoenix" title="Apache Phoenix">Phoenix</a></li> <li><a href="/wiki/Apache_POI" title="Apache POI">POI</a></li> <li><a href="/wiki/Apache_Pig" title="Apache Pig">Pig</a></li> <li><a href="/wiki/Apache_Pinot" title="Apache Pinot">Pinot</a></li> <li><a href="/wiki/Apache_Pivot" title="Apache Pivot">Pivot</a></li> <li><a href="/wiki/Apache_Qpid" title="Apache Qpid">Qpid</a></li> <li><a href="/wiki/Apache_Roller" title="Apache Roller">Roller</a></li> <li><a href="/wiki/Apache_RocketMQ" title="Apache RocketMQ">RocketMQ</a></li> <li><a href="/wiki/Apache_Samza" title="Apache Samza">Samza</a></li> <li><a href="/wiki/Apache_Shiro" title="Apache Shiro">Shiro</a></li> <li><a href="/wiki/Apache_SINGA" title="Apache SINGA">SINGA</a></li> <li><a href="/wiki/Apache_Sling" title="Apache Sling">Sling</a></li> <li><a href="/wiki/Apache_Solr" title="Apache Solr">Solr</a></li> <li><a href="/wiki/Apache_Spark" title="Apache Spark">Spark</a></li> <li><a href="/wiki/Apache_Storm" title="Apache Storm">Storm</a></li> <li><a href="/wiki/Apache_SpamAssassin" title="Apache SpamAssassin">SpamAssassin</a></li> <li><a href="/wiki/Apache_Struts" title="Apache Struts">Struts</a> <ul><li><a href="/wiki/Apache_Struts_1" title="Apache Struts 1">1</a></li></ul></li> <li><a href="/wiki/Apache_Subversion" title="Apache Subversion">Subversion</a></li> <li><a href="/wiki/Apache_Superset" title="Apache Superset">Superset</a></li> <li><a href="/wiki/Apache_SystemDS" title="Apache SystemDS">SystemDS</a></li> <li><a href="/wiki/Apache_Tapestry" title="Apache Tapestry">Tapestry</a></li> <li><a href="/wiki/Apache_Thrift" title="Apache Thrift">Thrift</a></li> <li><a href="/wiki/Apache_Tika" title="Apache Tika">Tika</a></li> <li><a href="/wiki/Apache_TinkerPop" class="mw-redirect" title="Apache TinkerPop">TinkerPop</a></li> <li><a href="/wiki/Apache_Tomcat" title="Apache Tomcat">Tomcat</a></li> <li><a href="/wiki/Apache_Trafodion" class="mw-redirect" title="Apache Trafodion">Trafodion</a></li> <li><a href="/wiki/Apache_Traffic_Server" title="Apache Traffic Server">Traffic Server</a></li> <li><a href="/wiki/UIMA" title="UIMA">UIMA</a></li> <li><a class="mw-selflink selflink">Velocity</a></li> <li><a href="/wiki/Apache_Wicket" title="Apache Wicket">Wicket</a></li> <li><a href="/wiki/Apache_Xalan" title="Apache Xalan">Xalan</a></li> <li><a href="/wiki/Apache_Xerces" title="Apache Xerces">Xerces</a></li> <li><a href="/wiki/Apache_XMLBeans" title="Apache XMLBeans">XMLBeans</a></li> <li>Yetus</li> <li><a href="/wiki/Apache_ZooKeeper" title="Apache ZooKeeper">ZooKeeper</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Apache_Commons" title="Apache Commons">Commons</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Byte_Code_Engineering_Library" title="Byte Code Engineering Library">BCEL</a></li> <li><a href="/wiki/Bean_Scripting_Framework" title="Bean Scripting Framework">BSF</a></li> <li><a href="/wiki/Commons_Daemon" title="Commons Daemon">Daemon</a></li> <li><a href="/wiki/Apache_Jelly" title="Apache Jelly">Jelly</a></li> <li><a href="/wiki/Apache_Commons_Logging" title="Apache Commons Logging">Logging</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Incubator</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apache_Taverna" title="Apache Taverna">Taverna</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other projects</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apache_Batik" title="Apache Batik">Batik</a></li> <li><a href="/wiki/Apache_FOP_(Formatting_Objects_Processor)" class="mw-redirect" title="Apache FOP (Formatting Objects Processor)">FOP</a></li> <li><a href="/wiki/Apache_Ivy" title="Apache Ivy">Ivy</a></li> <li><a href="/wiki/Log4j" title="Log4j">Log4j</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Attic</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apache_Apex" title="Apache Apex">Apex</a></li> <li><a href="/wiki/AxKit" title="AxKit">AxKit</a></li> <li><a href="/wiki/Apache_Beehive" title="Apache Beehive">Beehive</a></li> <li><a href="/wiki/Apache_iBATIS" title="Apache iBATIS">iBATIS</a></li> <li><a href="/wiki/Apache_Click" title="Apache Click">Click</a></li> <li><a href="/wiki/Apache_Continuum" title="Apache Continuum">Continuum</a></li> <li><a href="/wiki/Deltacloud" title="Deltacloud">Deltacloud</a></li> <li><a href="/wiki/Etch_(protocol)" title="Etch (protocol)">Etch</a></li> <li><a href="/wiki/Apache_Giraph" title="Apache Giraph">Giraph</a></li> <li><a href="/wiki/Apache_Hama" title="Apache Hama">Hama</a></li> <li><a href="/wiki/Apache_Harmony" title="Apache Harmony">Harmony</a></li> <li><a href="/wiki/Jakarta_Project" title="Jakarta Project">Jakarta</a></li> <li><a href="/wiki/Apache_Marmotta" title="Apache Marmotta">Marmotta</a></li> <li><a href="/wiki/Apache_MXNet" title="Apache MXNet">MXNet</a></li> <li><a href="/wiki/Apache_ODE" title="Apache ODE">ODE</a></li> <li><a href="/wiki/Jini" title="Jini">River</a></li> <li><a href="/wiki/Apache_Shale" title="Apache Shale">Shale</a></li> <li><a href="/wiki/Jakarta_Slide" class="mw-redirect" title="Jakarta Slide">Slide</a></li> <li><a href="/wiki/Sqoop" title="Sqoop">Sqoop</a></li> <li><a href="/wiki/Apache_Stanbol" title="Apache Stanbol">Stanbol</a></li> <li><a href="/wiki/Apache_Tuscany" class="mw-redirect" title="Apache Tuscany">Tuscany</a></li> <li><a href="/wiki/Apache_Wave" class="mw-redirect" title="Apache Wave">Wave</a></li> <li><a href="/wiki/Apache_XML" title="Apache XML">XML</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Licenses</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apache_License" title="Apache License">Apache License</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Category"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/23px-Symbol_category_class.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/9/96/Symbol_category_class.svg/31px-Symbol_category_class.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <b><a href="/wiki/Category:Apache_Software_Foundation" title="Category:Apache Software Foundation">Category</a></b></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235"></div><div role="navigation" class="navbox authority-control" aria-label="Navbox" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Help:Authority_control" title="Help:Authority control">Authority control databases</a>: National <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q617156#identifiers" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/7531433-2">Germany</a></span></li></ul></div></td></tr></tbody></table></div> <p><br /> </p> <style data-mw-deduplicate="TemplateStyles:r1012311289">.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox-body{font-style:italic}.mw-parser-output .asbox-note{font-size:smaller}.mw-parser-output .asbox .navbar{position:absolute;top:-0.75em;right:1em;display:none}</style><div role="note" class="metadata plainlinks asbox stub"><table role="presentation"><tbody><tr class="noresize"><td><span typeof="mw:File"><a href="/wiki/File:Software_spanner.png" class="mw-file-description"><img alt="Stub icon" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/82/Software_spanner.png/40px-Software_spanner.png" decoding="async" width="40" height="31" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/82/Software_spanner.png/60px-Software_spanner.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/82/Software_spanner.png/80px-Software_spanner.png 2x" data-file-width="239" data-file-height="184" /></a></span></td><td><p class="asbox-body">This <a href="/wiki/Programming_tool" title="Programming tool">programming-tool</a>-related article is a <a href="/wiki/Wikipedia:Stub" title="Wikipedia:Stub">stub</a>. You can help Wikipedia by <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Apache_Velocity&action=edit">expanding it</a>.</p></td></tr></tbody></table><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231"><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Programming-software-stub" title="Template:Programming-software-stub"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Programming-software-stub" title="Template talk:Programming-software-stub"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Programming-software-stub" title="Special:EditPage/Template:Programming-software-stub"><abbr title="Edit this template">e</abbr></a></li></ul></div></div> <!-- NewPP limit report Parsed by mw‐api‐int.codfw.main‐849f99967d‐rsd7h Cached time: 20241124121306 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.480 seconds Real time usage: 0.643 seconds Preprocessor visited node count: 1620/1000000 Post‐expand include size: 50659/2097152 bytes Template argument size: 2751/2097152 bytes Highest expansion depth: 27/100 Expensive parser function count: 12/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 41901/5000000 bytes Lua time usage: 0.297/10.000 seconds Lua memory usage: 5399919/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 558.456 1 -total 27.33% 152.611 2 Template:Infobox 23.01% 128.509 1 Template:Apache_Software_Foundation 22.54% 125.882 1 Template:Navbox 18.68% 104.314 1 Template:Infobox_software 17.69% 98.778 1 Template:Reflist 15.44% 86.240 2 Template:Cite_web 11.10% 61.992 1 Template:More_footnotes 10.34% 57.754 1 Template:Infobox_software/simple 8.94% 49.942 1 Template:Ambox --> <!-- Saved in parser cache with key enwiki:pcache:idhash:2285690-0!canonical and timestamp 20241124121306 and revision id 1220261783. Rendering was triggered because: api-parse --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Apache_Velocity&oldid=1220261783">https://en.wikipedia.org/w/index.php?title=Apache_Velocity&oldid=1220261783</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Apache_Software_Foundation_projects" title="Category:Apache Software Foundation projects">Apache Software Foundation projects</a></li><li><a href="/wiki/Category:Java_(programming_language)_libraries" title="Category:Java (programming language) libraries">Java (programming language) libraries</a></li><li><a href="/wiki/Category:Template_engines" title="Category:Template engines">Template engines</a></li><li><a href="/wiki/Category:Computer_programming_tool_stubs" title="Category:Computer programming tool stubs">Computer programming tool stubs</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_lacking_in-text_citations_from_March_2010" title="Category:Articles lacking in-text citations from March 2010">Articles lacking in-text citations from March 2010</a></li><li><a href="/wiki/Category:All_articles_lacking_in-text_citations" title="Category:All articles lacking in-text citations">All articles lacking in-text citations</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_January_2011" title="Category:Articles with unsourced statements from January 2011">Articles with unsourced statements from January 2011</a></li><li><a href="/wiki/Category:All_stub_articles" title="Category:All stub articles">All stub articles</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 22 April 2024, at 18:43<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Apache_Velocity&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-57488d5c7d-mqx48","wgBackendResponseTime":158,"wgPageParseReport":{"limitreport":{"cputime":"0.480","walltime":"0.643","ppvisitednodes":{"value":1620,"limit":1000000},"postexpandincludesize":{"value":50659,"limit":2097152},"templateargumentsize":{"value":2751,"limit":2097152},"expansiondepth":{"value":27,"limit":100},"expensivefunctioncount":{"value":12,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":41901,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 558.456 1 -total"," 27.33% 152.611 2 Template:Infobox"," 23.01% 128.509 1 Template:Apache_Software_Foundation"," 22.54% 125.882 1 Template:Navbox"," 18.68% 104.314 1 Template:Infobox_software"," 17.69% 98.778 1 Template:Reflist"," 15.44% 86.240 2 Template:Cite_web"," 11.10% 61.992 1 Template:More_footnotes"," 10.34% 57.754 1 Template:Infobox_software/simple"," 8.94% 49.942 1 Template:Ambox"]},"scribunto":{"limitreport-timeusage":{"value":"0.297","limit":"10.000"},"limitreport-memusage":{"value":5399919,"limit":52428800}},"cachereport":{"origin":"mw-api-int.codfw.main-849f99967d-rsd7h","timestamp":"20241124121306","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Apache Velocity","url":"https:\/\/en.wikipedia.org\/wiki\/Apache_Velocity","sameAs":"http:\/\/www.wikidata.org\/entity\/Q617156","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q617156","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-07-22T08:53:02Z","dateModified":"2024-04-22T18:43:30Z","headline":"Java template engine"}</script> </body> </html>