1. Buat objek template melalui string dan lakukan pemrosesan interpolasi
impor freemarker.template.template; impor java.io.outputStreamWriter; impor java.io.stringreader; impor java.util.hashmap; impor java.util.map; /** * The simplest example of Freemarker* * @author leizhimin 11-11-17 10:32 am */ public class Test2 { public static void main(String[] args) throws Exception{ //Create a template object Template t = new Template(null, new StringReader("Username: ${user};URL: ${url};Name: $ {name} "), null); // Buat peta peta interpolasi peta = hashmap baru (); peta.put ("pengguna", "lavasoft"); peta.put ("url", "http://www.baidu.com/"); Map.put ("Name", "Baidu"); // Jalankan interpolasi dan output ke stream output yang ditentukan T.Process (MAP, OutputStreamWriter baru (System.out)); }} Setelah eksekusi, konsol menghasilkan hasilnya:
Nama pengguna: lavasoft; url: http://www.baidu.com/;name: proses baidu selesai dengan kode keluar 0
2. Buat objek template melalui file dan lakukan operasi interpolasi
impor freemarker.template.configuration; impor freemarker.template.template; impor java.io.file; impor java.io.outputStreamWriter; impor java.util.hashmap; impor java.util.map; / ** * Contoh paling sederhana dari freemarker * * @author leizhimin 11-11-14 2:44 pm */ tes kelas publik {cfg konfigurasi pribadi; // Templat Konfigurasi Objek public void init () melempar Exception {// menginisialisasi konfigurasi freeMarker // Buat instance konfigurasi cfg = konfigurasi baru (); // Atur lokasi folder template dari freemarker cfg.setDirectoryfortemplateloading (file baru ("g: // testprojects // freemarkertest // src")); } public void Process () melempar Exception {// Buat peta peta peta yang mengisi peta peta data = hashMap baru (); peta.put ("pengguna", "lavasoft"); peta.put ("url", "http://www.baidu.com/"); Map.put ("Name", "Baidu"); // Buat templat objek template t = cfg.gettemplate ("test.ftl"); // Lakukan operasi interpolasi pada templat dan output ke aliran output yang diformulasikan T.Process (MAP, OutputStreamWriter baru (System.out)); } public static void main (string [] args) melempar Exception {test hf = new test (); hf.init (); hf.process (); }}
Buat Template File Test.ftl
<html> <adept> <title> selamat datang! </title> </head> <body> <h1> Selamat datang $ {user}! </h1> <p> Produk terbaru kami: <a href = "$ {url}"> $ {name} </a>! </body> </html> Halo, pengguna terkasih: nama pengguna: $ {user}; Url: $ {url}; Nama: $ {name}
Setelah eksekusi, hasil output konsol adalah sebagai berikut:
<Html> <Head> <title> Selamat datang! </title> </head> <body> <h1> Selamat datang lavasoft! </h1> <p> Produk terbaru kami: <a href = "http://www.baidu.com/"> Baidu </a>! </body> </html>
Halo, pengguna terkasih:
Nama pengguna: Lavasoft; URL: http://www.baidu.com/; Nama: Proses Baidu selesai dengan kode keluar 0
3. Instance Spring+Freemarker Berbasis Anotasi
Diagram proyek web
file web.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <web-app id = "webapp_id" versi = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee" xmlns: xsi = "http:/ww.ml23.pl2. XSI: schemalocation = "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <!-konfigurasi Dispatcherservlet-> <serverm-name "> <! <servlet-class> org.springframework.web.servlet.dispatcherServlet </servlet-class> <!-Tentukan lokasi file konfigurasi MVC pegas tanpa menentukan penggunaan default-> <Ilin-param> <param-name> ContextConfiglocation </paramname> <param-value>/Param-infalss </param-name> <param-value> <!-Default:/Web-Inf/<servlet-name> -servlet.xml Metode ClassPath: <param-value> classpath:/spring-xml/*. Xml </param-value>-> </init-param> <!-atur pesanan startup-> <load-on-startup> 1 </init-param> <! DispatcherServlet ke servlet-name yang sama-> <servlet-Mapping> <servlet-name> springmvc </servlet-name> <rerl-pattern>/</ruRl-pattern> <!-intersept ke/semua permintaan-> </servlet-mapping> <creendak-file--list> <creendy-file> index.jspy </welcome-file> </welcome-file>
file springmvc-servlet.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: aop = "http://www.springframework.org/orga/aPema/http://www.spramework.org/orga/aPema/sphema/www.spramework.org/orga/aPema/aPema/http" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http:pram xmlns: context = "http://www.springframework.org/schema/context" xsi: schemalocation = "http://www.springframework.org/schema/beans http:/wwww.spramework.org http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/www.springframework.org/schema/www.sppramework.org/schema/aPema http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context Dukungan Pemetaan-> <MVC: Annotation-Driven /> <!-Paket Pemindaian Otomatis-> <konteks: komponen-pemindaian-package = "com.spring.freemarker" /> <!-<Context: Annotation-Config /> Configure The Automatic Paket Konfigurasi Konfigurasi ini dapat dihilangkan-<!-<! <!-Mengkonfigurasi jalur template freemarker-> <bean> <name properti = "templateloaderpath" value = "web-inf /ftl /" /> <name properti = "DefaultEncoding" value = "UTF-8" /< /bean> <!-freemarker view parser-> <bean> <a name = "." name = "contentType" value = "Text/html; charset = utf-8"/> <!-Nilai variabel ini adalah pagecontext.request, cara menggunakan halaman: rc.contextPath-> <nama properti = "requestContextattribute" value = "rc"/</bean> </bean>
Kelas FreemarkerController
paket com.spring.freemarker; impor java.util.arraylist; impor java.util.list; impor javax.servlet.http.httpservletRequest; impor javax.servlet.http.httpservletResponse; impor org.springframework.stereotype.controller; impor org.springframework.web.bind.annotation.requestmapping; impor org.springframework.web.servlet.modelandview; impor com.spring.vo.user; @Controller @RequestMapping ("/home") kelas publik freemarkercontroller {@RequestMapping ("/index") Model dan ADDView Public (permintaan httpservletRequest, respons httpservletResponse) {pengguna pengguna = pengguna baru (); user.setusername ("zhangsan"); user.setPassword ("1234"); Daftar <User> user = new ArrayList <User> (); Users.add (pengguna); return new ModelandView ("index", "users", pengguna); }}Kelas Pengguna
paket com.spring.vo; Pengguna kelas publik {Private String username; kata sandi string pribadi; string publik getUserName () {return username; } public void setusername (string username) {this.username = username; } public string getPassword () {return kata sandi; } public void setPassword (kata sandi string) {this.password = kata sandi; }}
file index.ftl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title di sini </itement> </head> <body> <#list User sebagai pengguna> nama pengguna: $ {user.userName} <br/> kata sandi: $ {user.password} </#list> </body> </html> Deploy to tomcat dan run: http: // localhost: 8080/springmvc/home/index
Menunjukkan hasil:
Nama pengguna: Zhangsan Kata Sandi: 1234