Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Präsentation Velocity. Velocity Allgemein Templets Zusammenhang Templets Java Kontext $ UI $link.

Ähnliche Präsentationen


Präsentation zum Thema: "Präsentation Velocity. Velocity Allgemein Templets Zusammenhang Templets Java Kontext $ UI $link."—  Präsentation transkript:

1 Präsentation Velocity

2 Velocity Allgemein Templets Zusammenhang Templets Java Kontext $ UI $link

3 Allgemein Template Engine zwei wesentliche Merkmale –strikte Trennung –Script-Sprachen-Elemente. Einsatzgebiet –Servlet basierte Webprogrammierung –Java und SQL Code Erzeugung eingesetzt, oder in der XMLVerarbeitung/Transformation

4 Wie funktioniert Velocity? Ein Context Objekt wird erzeugt. - Die Daten werden dem Context Objekt hinzugefügt. - Ein Template wird ausgewählt - Der Output entsteht, nachdem das Template mit den Daten zusammengeführt (merge) wurde.

5 Beispiel für die Trennung kleines Template mit dem Namen helloworld.vm: Hello $name! Welcome to Velocity!

6 Beispiel import java.io.StringWriter; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; public class HelloWorld { public static void main( String[] args ) throws Exception { VelocityEngine ve = new VelocityEngine(); ve.init(); Template t = ve.getTemplate( "helloworld.vm" ); VelocityContext context = new VelocityContext(); context.put("name", "World"); StringWriter writer = new StringWriter(); t.merge( context, writer ); System.out.println( writer.toString() ); }

7 Beispiel Hello World! Welcome to Velocity!

8 Context basiert auf einem Container der zwischen verschiedenen Layern(Schichten) Daten transferieren kann Verbindung zwischen Designer und Programmierer Benützung wie eine Hash-Tabelle

9 Context Anwendung (Reihenfolge spielt eine Rolle) public Object put(String key, Object value); public Object get(String key); Beispiel (key) studName den Wert (value) ia99boes context.put("studName", "ia99boes");

10 Properties $hello.Hello –Returniere den Wert des assoziierten Schlüssels Hello in der Hashtabelle hello. –Hello kann einen Methodenaufruf darstellen. Es gilt als Abkürzung für hello.getHello()

11 Parse Parse dient um weitere Templates (*.vm) einzubinden. Beispiel : Count down #set( $count = 8 ) #parse( "parseRekursion.vm" ) rekursion.vm verweist auf das parseRekursion.vm, -- > $count #set ( $count = $count – 1 ) #if ( $count > 0 ) #parse( "parseRekursion.vm" ) #else All done with parseRekursion.vm! #end

12 Parse Ergebnis -- > 8 -- > 7 -- > 6 -- > 5 -- > 4 -- > 3 -- > 2 -- > 1 All done with parseRekursion.vm!

13 Stop Mit dem #stop Element kann der Designer die Ausführung des Scripts stoppen (Fehlersuche)

14 $ UI Ermöglicht ein einheitliches Design –Schrift (Farbe, Typ, Größe) –Hintergrund –Bilder –Wird in einer eigenen Datei gespeichert UI Ordner.props

15 Im Newapp Beispiel # These are the default properties bgcolor = #E0C2C2 sansSerifFonts = verdana,geneva,helvetica formLabelColor = #b3cc99 formFieldColor = #b3dd99 labelColor = #b3cc99 dataColor = #4BDF1A vlink = #00ff00 alink = #ff00ff tableCellSpacing = 0 tableCellPadding = 0 menuColor = #4BDF1A buttonAlignment = right buttonColor = #DDDDDD tableColor = #AAAAAA # Images alertImage = alert1.gif logo = tdm.jpg poweredByImage = powered_by_tambora.gif line = line.gif darkColor = # lightColor = #DDDDDD

16 Variablen Die Variabeln starten immer mit einem $-Zeichen, gefolgt von einem so genannten VTLIdentifier. Dieser setzt sich aus einem alphanumerischen Zeichen (a..z oder A..Z) zusammen. Der Rest ist auf die nachfolgenden Zeichen limitiert: a..z, A..Z, 0..9, -,

17 Beispiel Variable setzen: #set( $variable = "bar" ) Variable reference: #set( $monkey = "bill" ) String literal: #set( $monkey.Friend = "monica" ) Property reference: #set( $monkey.Blame = $whitehouse.Leak ) Method reference: #set( $monkey.Plan = $spindoctor.weave($web) ) Number literal: #set( $monkey.Number = 123 ) Range operator: #set( $monkey.Numbers = [1..3] ) Object array: #set( $monkey.Say = ["Not", $my, "fault"] )

18 if - Statement Die if Bedingung ist erfüllt, sobald die übergebene Variable definiert ist, oder $unilinz ein Boolean Objekt, dessen Wert true ist, aufweist. #if ( $unilinz ) unilinz #end

19 Struktur des if-else Statements #if( [condition] ) [output] [ #elseif( [condition] ) [output] ]* [ #else [output] ] #end

20 if - else Statement Weiteres Beispiel mit einem #elseif Konstruckt: #if ( $semester <= 2 ) 2.Stock #elseif ( $semester > 2) 4.Stock #else Cafeteria od Dozent #end

21 Foreach Schleife Das #foreach Element erlaubt das Iterieren über eine Liste wie zum Beispiel: #foreach( $product in $allProducts ) $product #end

22 Hier eine Auflistung welche Collections von #foreach unterstützt werden: - Object[] - java.util.Collection - java.util.Map - java.util.Iterator - java.util.Enumeration

23 Global Macros.vm Definiert für das gesamte Framework, den Aufbau, Farbe,... verschiedenster Macros (z.B listBox....) Dadurch überall verwendbar

24 $link Siehe Beispiel: menueName


Herunterladen ppt "Präsentation Velocity. Velocity Allgemein Templets Zusammenhang Templets Java Kontext $ UI $link."

Ähnliche Präsentationen


Google-Anzeigen