1. สร้างวัตถุเทมเพลตผ่านสตริงและทำการประมวลผลการแก้ไข
นำเข้า freemarker.template.template; นำเข้า Java.io.OutputStreamWriter; นำเข้า java.io.stringReader; นำเข้า java.util.hashmap; นำเข้า java.util.map; /** * ตัวอย่างที่ง่ายที่สุดของ freemarker * * @author Leizhimin 11-11-17 10:32 am */คลาสสาธารณะ test2 {โมฆะคงที่สาธารณะหลัก (สตริง [] args) โยนข้อยกเว้น {// สร้างเทมเพลตเทมเพลต t = เทมเพลตใหม่ (null, stringreader ใหม่ โมฆะ); // สร้างแผนที่แผนที่ที่แก้ไขแล้ว = ใหม่ hashmap (); map.put ("ผู้ใช้", "lavasoft"); map.put ("url", "http://www.baidu.com/"); map.put ("ชื่อ", "baidu"); // ดำเนินการแก้ไขและเอาต์พุตไปยังสตรีมเอาต์พุตที่ระบุ t.process (แผนที่, outputStreamWriter ใหม่ (System.OUT)); - หลังจากดำเนินการคอนโซลจะส่งผลให้ผลลัพธ์:
ชื่อผู้ใช้: lavasoft; url: http://www.baidu.com/;name: กระบวนการ baidu เสร็จสิ้นด้วยรหัสออก 0
2. สร้างวัตถุเทมเพลตผ่านไฟล์และดำเนินการแก้ไข
นำเข้า freemarker.template.configuration; นำเข้า freemarker.template.template; นำเข้า Java.io.File; นำเข้า Java.io.OutputStreamWriter; นำเข้า java.util.hashmap; นำเข้า java.util.map; / ** * ตัวอย่างที่ง่ายที่สุดของ freemarker * * @author Leizhimin 11-11-14 2:44 PM */ การทดสอบคลาสสาธารณะ {การกำหนดค่าส่วนตัว CFG; // เทมเพลตการกำหนดค่าวัตถุโมฆะสาธารณะ init () พ่นข้อยกเว้น {// เริ่มต้นการกำหนดค่า freemarker // สร้างอินสแตนซ์การกำหนดค่า cfg = การกำหนดค่าใหม่ (); // ตั้งค่าตำแหน่งโฟลเดอร์เทมเพลตของ freemarker cfg.setDirectoryfortemPlateLoading (ไฟล์ใหม่ ("g: // testprojects // freemarkertest // src")); } กระบวนการโมฆะสาธารณะ () โยนข้อยกเว้น {// สร้างแผนที่แผนที่ที่เติมแผนที่ข้อมูลแผนที่ = ใหม่ hashmap (); map.put ("ผู้ใช้", "lavasoft"); map.put ("url", "http://www.baidu.com/"); map.put ("ชื่อ", "baidu"); // สร้างเทมเพลตเทมเพลตเทมเพลต t = cfg.getTemplate ("test.ftl"); // ดำเนินการประมาณค่าการแก้ไขบนเทมเพลตและเอาต์พุตไปยังสตรีมเอาต์พุตสูตร t.process (แผนที่, outputstreamwriter ใหม่ (System.out)); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) โยนข้อยกเว้น {ทดสอบ hf = การทดสอบใหม่ (); hf.init (); hf.process (); -
สร้างเทมเพลตไฟล์ test.ftl
<html> <head> <title> ยินดีต้อนรับ! </title> </head> <body> <h1> ยินดีต้อนรับ $ {ผู้ใช้}! </h1> <p> ผลิตภัณฑ์ล่าสุดของเรา: <a href = "$ {url}"> $ {ชื่อ} </a>! </body> </html> สวัสดีผู้ใช้ที่รัก: ชื่อผู้ใช้: $ {ผู้ใช้}; URL: $ {url}; ชื่อ: $ {ชื่อ}
หลังจากดำเนินการผลลัพธ์เอาต์พุตคอนโซลมีดังนี้:
<html> <head> <title> ยินดีต้อนรับ! </title> </head> <body> <h1> ยินดีต้อนรับ Lavasoft! </h1> <p> ผลิตภัณฑ์ล่าสุดของเรา: <a href = "http://www.baidu.com/"> baidu </a>! </body> </html>
สวัสดีผู้ใช้ที่รัก:
ชื่อผู้ใช้: Lavasoft; URL: http://www.baidu.com/; ชื่อ: กระบวนการ baidu เสร็จสิ้นด้วยรหัสออก 0
3. อินสแตนซ์สปริง+freemarker ที่ใช้คำอธิบายประกอบ
แผนภาพโครงการเว็บ
ไฟล์ web.xml
<? xml version = "1.0" encoding = "utf-8"?> <web-app id = "webapp_id" เวอร์ชัน = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee" xmlns: xsi = "http:/ http: XSI: schemalocation = "http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <!-ระบุตำแหน่งไฟล์การกำหนดค่า MVC Spring MVC โดยไม่ต้องระบุการใช้งานเริ่มต้น-> <init-Param> <!-ค่าเริ่มต้น:/web-inf/<servlet-name> -servlet.xml เมธอดคลาสสิก: <param-value> classpath:/spring-xml/*. xml </param- value>-> </init-param> <! dispatcherservlet ไปยัง servlet-name เดียวกัน-> <servlet-mapping> <servlet-name> springmvc </servlet-name> <url-pattern>/</url-pattern> <!-การสกัดกั้น/การร้องขอทั้งหมด-> </servlet-mapping>
ไฟล์ springmvc-servlet.xml
<? xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: aop = "http://www.springframework xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: บริบท = "http://www.springframework.org/schema/context http://www.springframework.org/schema/beans/spring-beans.XSD http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework http://www.springframework.org/schema/context/spring-context.xsd "> <!-การสนับสนุนการทำแผนที่คำอธิบายประกอบเริ่มต้น-> <mvc: คำอธิบายประกอบ/> <! <!-<บริบท: Annotation-config/> กำหนดค่าการกำหนดค่าแพ็คเกจการสแกนอัตโนมัติการกำหนดค่านี้สามารถละเว้นได้-> <!-<ถั่วกำหนดค่าแพ็คเกจการสแกนอัตโนมัติกำหนดค่าการกำหนดค่านี้เพื่อละเว้น/>-> <! value = "utf-8" /> </ebean> <!-freemarker view parser-> <bean> <property name = "suffix" value = ". ftl" /> <name property = "contentType" value = "html; charset = utf-8" /> <! name = "requestcontextattribute" value = "rc"/> </ebean> </epeans>
คลาส FreemarkerController
แพ็คเกจ com.spring.freemarker; นำเข้า java.util.arraylist; นำเข้า java.util.list; นำเข้า Javax.servlet.http.httpservletRequest; นำเข้า Javax.servlet.http.httpservletResponse; นำเข้า org.springframework.stereotype.controller; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.servlet.modelandview; นำเข้า com.spring.vo.user; @Controller @RequestMapping ("/home") คลาสสาธารณะ FreemarkerController {@requestmapping ("/index") โมเดลสาธารณะและวิววิวเพิ่ม (httpservletRequest Request, httpservletResponse) {ผู้ใช้ผู้ใช้ = ผู้ใช้ใหม่ (); user.setUserName ("จาง"); user.setPassword ("1234"); รายการ <user> ผู้ใช้ = arrayList ใหม่ <user> (); users.add (ผู้ใช้); ส่งคืน ModelandView ใหม่ ("ดัชนี", "ผู้ใช้", ผู้ใช้); -ชั้นเรียนผู้ใช้
แพ็คเกจ com.spring.vo; ผู้ใช้ระดับสาธารณะ {ชื่อผู้ใช้สตริงส่วนตัว; รหัสผ่านสตริงส่วนตัว สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้; } โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.userName = ชื่อผู้ใช้; } สตริงสาธารณะ getPassword () {ส่งคืนรหัสผ่าน; } โมฆะสาธารณะ setPassword (รหัสผ่านสตริง) {this.password = รหัสผ่าน; -
index.ftl ไฟล์
<! doctype html public "-// w3c // dtd html 4.01 transitional // en" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <title> แทรกชื่อเรื่องที่นี่ </title> </head> <body> <##List user as User> ชื่อผู้ใช้: $ {user.username} <br/> รหัสผ่าน: $ {user.password} </#list> </body> </html> ปรับใช้กับ Tomcat และ Run: http: // localhost: 8080/springmvc/home/index
แสดงผลลัพธ์:
ชื่อผู้ใช้: รหัสผ่านจาง: 1234