Apache hastighed | |
---|---|
Type | skabelonmotor |
Udvikler | Apache Software Foundation |
Skrevet i | Java |
Operativ system | Cross-platform software |
Første udgave | 21. november 2006 [1] |
Hardware platform | Java virtuel maskine |
nyeste version | 2.3 ( 27. februar 2021 ) |
Licens | Apache 2.0 licens |
Internet side | velocity.apache.org |
Mediefiler på Wikimedia Commons |
Apache Velocity er et open source-projekt udviklet af Apache Software Foundation . Apache Velocity var tidligere kendt som Jakarta Velocity og var en del af paraplyprojektet Apache Jakarta Project , men er siden blevet udskilt til et populært projekt i sig selv. Velocity er en Java - baseret skabelonprocessor ( skabelonmotor ) , der giver et simpelt, men kraftfuldt skabelonsprog, der ikke kræver, at skabelonvariabelmodellen forberedes først: referencer til Java-objekter sendes simpelthen til skabelonen, og motoren analyserer den angivne metoder og gennem Java The Reflection API får deres værdier. Dens formål er at sikre en ren adskillelse mellem præsentationslaget og forretningslaget i en webapplikation ( Design-mønsteret Model-View-Controller ), men det er ikke begrænset til omfanget af en webapplikation.
Nogle almindelige typer applikationer, der kan bruge Velocity, er:
Et eksempel på brug af en skabelon og en simpel Java- applikation. Skabelonens kildekode med navnet template.vm
## Skabelon med navnet template.vm < html > < body > ## $foo er en skabelonvariabel Hej $foo verden! </ body > </ html >Enkeltlinjekommentarer er markeret med "##" tegnene, tegnet "$" angiver, at det er efterfulgt af et variabelnavn i skabelonen.
Java-kildekoden for det program, der binder "navn"-variablen i Java-koden og "$foo"-variablen i skabelonen:
importer java.io.* ; import org.apache.velocity.* ; import org.apache.velocity.app.Velocity ; public class HelloVelocityWorld { public static void main ( String [] args ) kaster IOException { Hastighed . init (); // Velocity-initialisering VelocityContext vc = new VelocityContext ( ); // create Velocity context String name = "Velocity" ; v.c. _ put ( "foo" , navn ); // "name"-attributten er bundet til variabelnavnet $foo i skabelonen og placeret i konteksten Skabelon skabelon = Hastighed . getTemplate ( "skabelon.vm" , "utf-8" ); // indlæs skabelon ved navn template.vm BufferedWriter bw = new BufferedWriter ( ny OutputStreamWriter ( System . ud )); // opretter en outputstrømskabelon . flette ( vc , bw ); // merge()-metoden accepterer et datasæt som et "vc"-objekt og et "bw"-stream-objekt bw . skylle (); bw . lukke (); } }som et resultat vil Velocity generere følgende dokumenttekst:
< html > < body > Hej Velocity World! </ body > </ html >Syntaksen og generelle koncepter i Apache Velocity-skabelonen ligner meget dem i den tidligere WebMacro [3] skabelonmotor , som nu også er et open source-projekt.
Apache Software Foundation | |||||||
---|---|---|---|---|---|---|---|
Projekter på topniveau |
| ||||||
Delprojekter |
| ||||||
Apache Web |
| ||||||
Andre projekter | |||||||
Udvikling af projekter ( inkubator ) |
| ||||||
Nedlagte projekter ( loftsrum ) | |||||||
|