Tema: Introduksjon Hvorfor Velocity? Installasjon Velocity VS. JSF / JSP Eksempler Oppsumering
Introduksjon Velocity er en Java mal motor. Velocity er eldre enn JSP Kan skille java-koden fra websidene (MVC) Kan bli brukt til å generere web-sider og andre typer maler.
Hvorfor Velocity Template for nesten alt Det er enkelt å bruke både for designere og programmerere Det skiller presentasjonsformateringen fra koden din Den lar deg bruke dine eksisterende klasser som de er Det er gratis og kildekoden er tilgjengelig under Apache Software License (Åpen kildekode)
Installasjon Nedlasting av rammeverket Importer filen velocity-1.5.jar til prosjektet
Velocity VS. JSF Velocity kan ikke sammenlignes med JSF Velocity kan brukes sammen med JSF
JSP og Velocity JSP Velocity Hello <% If (request.getParameter(”name”)==null){ out.println(”Hello World”); } Else { out.println(”Hello, ”+ request.getParameter(”name”)); } %> Hello #if ($request.getParameter("name") == null) Hello World #else Hello, $request.getParameter("name") #end
forskjell JSPVelocity Output må være mellom taggene En fordel er at feilmeldingene kommer ikke på side, men den har sine ulemper når vi vil vite hva slags feilmelding vi får f.eks i (debugg) trenger ikke for output Viser feil meldingene
Eksempler Definere en variabel med dollar tegn $ #foreach( $person in $personliste ) //går gjennom person liste. #end //slutter #if() #else #elseif() $en $to $tre
Eksempler import java.io.*; import org.apache.velocity.*; import org.apache.velocity.app.*; import org.apache.velocity.tools.generic.IteratorTool; public class Loop { // Initialisering public static void main(String[] args) throws Exception { Velocity.init(); // Henter template Template template = Velocity.getTemplate("./src/loop.vm"); // Lager context og legger til data VelocityContext context = new VelocityContext(); context.put("var", new Loop()); // Rendrer template til stringwriter Writer writer = new StringWriter(); template.merge(context, writer); // Print System.out.println(writer); } #set($list = ["A", "B", "C", "D", "E"]) #foreach($item in $list) $item #end
Oppsummering Positivt Enkelt å sette opp og implementere Effektiv til å generere dynamiske dokumenter Negativt Dårlig dokumentasjon på avansert bruk Få eksempler Andre rammeverk har tatt over mye Gammel