1. Erstellen Sie Vorlagenobjekte über Zeichenfolge und führen Sie die Interpolationsverarbeitung durch
freeMarker.template.template importieren; importieren java.io.outputStreamwriter; Import Java.io.StringReader; import Java.util.hashMap; import Java.util.map; /** * Das einfachste Beispiel von Freemarker * * @Author Leizhimin 11-11-17 10:32 AM */public class test2 {public static void main (String [] args) löst Ausnahme aus {// Erstellen Sie eine Vorlage-Objektvorlage t = neue Vorlage (Null, New StringReader ($ {{user {user {user {user}} | null); // Interpolierte MAP MAP MAP erstellen = new HashMap (); map.put ("user", "lavasoft"); map.put ("url", "http://www.baidu.com/"); map.put ("name", "baidu"); // Interpolation und Ausgabe in den angegebenen Ausgangsstream T.Process (MAP, neuer Ausgangsstreamwriter (System.out)) ausführen; }} Nach der Ausführung gibt die Konsole das Ergebnis aus:
Benutzername: Lavasoft; URL: http://www.baidu.com/;Name: Baidu -Prozess mit dem Ausgangscode 0 abgeschlossen
2. Erstellen Sie Vorlagenobjekte über Dateien und führen Sie Interpolationsvorgänge aus
Freemarker.template.Configuration importieren; freeMarker.template.template importieren; Import Java.io.file; importieren java.io.outputStreamwriter; import Java.util.hashMap; import Java.util.map; / ** * Das einfachste Beispiel für Freemarker * * @Author Leizhimin 11-11-14 2:44 PM */ public Class Test {private configuration cfg; // Vorlagenkonfiguration Objekt public void init () löst Ausnahme aus {// Freemarker -Konfiguration initialisieren // Erstellen Sie eine Konfigurationsinstanz cfg = new configuration (); // Setzen Sie den Vorlagenordnerspeicherort von Freemarker cfg.setDirectoryFortemPlatElaLoading (neue Datei ("g: // testProjects // FreemarkerTest // src"); } public void process () löst Ausnahme aus {// Konstruieren Sie die Kartenkarte, mit der die Daten map = new HashMap () ausfüllt; map.put ("user", "lavasoft"); map.put ("url", "http://www.baidu.com/"); map.put ("name", "baidu"); // Erstellen Sie die Vorlagenobjektvorlage t = cfg.getTemplate ("test.ftl"); // Interpolationsvorgänge in der Vorlage durchführen und aus dem formulierten Ausgangsstrom T.Process (MAP, neuer Ausgangsstreamwriter (System.OUT)); } public static void main (String [] args) löst eine Ausnahme aus {test hf = neuer test (); hf.init (); Hf.Process (); }}
Template -Datei test.ftl erstellen
<html> <kopf> <titels> Willkommen! </title> </head> <body> <h1> Willkommen $ {Benutzer}! </body> </html> Hallo, lieber Benutzer: Benutzername: $ {Benutzer}; URL: $ {url}; Name: $ {Name}
Nach der Ausführung lauten die Konsolenausgabergebnisse wie folgt:
<html> <Head> <titels> Willkommen! </body> </html>
Hallo, lieber Benutzer:
Benutzername: Lavasoft; URL: http://www.baidu.com/; Name: Baidu -Prozess mit dem Ausgangscode 0 abgeschlossen
3.. Annotationsbasierte Spring+Freemarker-Instanz
Webprojektdiagramm
Web.xml -Datei
<? XSI: Schemalocation = "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <Servlet> <!-Konfigurieren Sie Dispatcherservlet-> <Servlet-Name> </<servlet-name> <Servlet-Class> org.springframework.web.servlet.DispatcherServlet </Servlet-Class> <!-Geben Sie den Speicherort der Spring MVC-Konfigurationsdatei an, ohne die Standardverwendung anzugeben-> <init-param> <param-name> contextconfigLocation </param-name> <param-value> /web-inf/springMvc-servlet.xml </param-value> <!-Standard:/webinf/<Servlet-name> -Servlet.xml ClassPath-Methode: <param-value> classPath:/Spring-XML/*. <Load-on-Startups> 1 </Load-on-Startup> </Servlet> <!-Konfigurieren Sie das Servlet, das Servlet-Namen und DispatcherServlet auf denselben Servlet-Namen montiert-> <Servlet-Mapping> <Servlet-name> SpringMVC </Servlet-name> <URL-PATTERN>/</</</url-blattern> <!-Abschnitt-/All-List-. <Welcome-File> Index.jsp </Welcome-File> </Welcome-File-List> </web-App>
SpringMvc-Service.xml-Datei
<? xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.spingframework.org/schema/p" xmlns: mvc = "http://www./www./ww./www.sm. xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.spingframework.org/schema/beans http://www.springramework.org/schema/beans/bean- http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.spingframework.org/sschema/aopem/aopema/aop./aopa./aopema/aopa http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.spingframework.org/schema/context/context/context/contex/contex/context/contextext.- Annotation Mapping Support-> <MVC: Annotationsgetrieben /> <!-Automatisches Scan-Paket-> <Kontext: Komponenten-scan-Basis-Package = "com.spring.Freemarker" /> <! <!-Konfigurieren Sie den Vorlagenpfad von Freemarker-> <bean> <Eigenschaft name = "templateloaderPath" value = "web-inf /ftl /" /> <Eigenschaft name = "DefaultCoding" value = "utf-8" /> < /bean> <!-Freemarker Ansicht Parserser-> <bean> <Mobilienname = ". value = "text/html; charSet = utf-8"/> <!-Dieser variable Wert ist pageContext.request, wie man die Seite verwendet: rc.contextPath-> <Eigenschaft name = "RequestContextAttribute" value = "rc"/> </bean> </beans> </beans> </beans>
FreemarkerController -Klasse
Paket com.spring.freemarker; Import Java.util.ArrayList; importieren java.util.list; importieren javax.servlet.http.httpServletRequest; importieren javax.servlet.http.httpServletResponse; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelandView; import com.spring.vo.user; @Controller @RequestMapping ("/home") öffentliche Klasse FreemarkerController {@RequestMapping ("/index") public modelAndView add (httpServletRequest -Anforderung, httpServletResponse -Antwort) {user user = new user (); user.setUserName ("Zhangsan"); user.setPassword ("1234"); LIST <BENE> user> user = new ArrayList <Beus> (); users.Add (Benutzer); Neue ModelAndView zurückgeben ("Index", "Benutzer", Benutzer); }}Benutzerklasse
Paket com.spring.vo; public class User {private String -Benutzername; privates Zeichenfolgenkennwort; public String getUnername () {return userername; } public void setUnername (String -Benutzername) {this.username = userername; } public String getPassword () {Kennwort zurückgeben; } public void setPassword (String -Passwort) {this.password = password; }}
index.ftl Datei
<! DocType html public "-// w3c // dtd html 4.01 transitional // en <title> Titel hier einfügen </title> </head> <body> <#list Benutzer als Benutzer> Benutzername: $ {user.username} <br/> Passwort: $ {user.password} </#List> </body> </html> Bereitstellung in Tomcat und Run: http: // localhost: 8080/springmvc/home/index
Ergebnisse zeigen:
Benutzername: Zhangsan Passwort: 1234