บทความนี้แนะนำ Spring Boot และ Kotlin เพื่อแสดงการดูเว็บโดยใช้เอ็นจิ้นเทมเพลต Thymeleaf
การเข้าถึงทรัพยากรแบบคงที่
เมื่อเราพัฒนาเว็บแอปพลิเคชันเราต้องอ้างอิงทรัพยากรคงที่จำนวนมากเช่น JS, CSS และรูปภาพ จะสนับสนุนทรัพยากรคงที่เหล่านี้โดยใช้ Spring Boot และ Kotlin ได้อย่างไร ง่ายมาก
การกำหนดค่าเริ่มต้น
Spring Boot ให้ตำแหน่งไดเรกทอรีทรัพยากรแบบคงที่โดยค่าเริ่มต้นและจะต้องอยู่ภายใต้ ClassPath และชื่อไดเรกทอรีจะต้องปฏิบัติตามกฎต่อไปนี้:
/แบบคงที่/สาธารณะ/ทรัพยากร/meta-inf/ทรัพยากร
ตัวอย่างเช่น: เราสามารถสร้างแบบคงที่ใน SRC/Main/Resources/Directory และวางไฟล์รูปภาพที่ตำแหน่งนั้น หลังจากเริ่มโปรแกรมให้ลองเข้าถึง http: // localhost: 8080/ruby.jpg หากสามารถแสดงภาพการกำหนดค่าจะสำเร็จ
การแสดงผลหน้าเว็บ
ก่อนหน้านี้คำขอถูกประมวลผลผ่าน @RestController และเนื้อหาที่ส่งคืนเป็นวัตถุ JSON หากคุณต้องการแสดงหน้า HTML ให้ใช้งานได้อย่างไร?
เครื่องยนต์เทมเพลต
ภายใต้เอ็นจิ้นเทมเพลตที่แนะนำโดย Spring Boot เราสามารถเริ่มต้นได้อย่างรวดเร็วด้วยการพัฒนาเว็บไซต์แบบไดนามิก
Spring Boot ให้เครื่องยนต์เทมเพลตการกำหนดค่าเริ่มต้นด้วยประเภทหลักต่อไปนี้:
thymeleaffreemarkergroovymustache
Spring Boot แนะนำให้ใช้เครื่องยนต์เทมเพลตเหล่านี้เพื่อหลีกเลี่ยงการใช้ JSP หากคุณต้องใช้ JSP คุณจะไม่สามารถใช้คุณสมบัติต่าง ๆ ของ Spring Boot ได้ สำหรับรายละเอียดคุณสามารถดูข้อความต่อไปนี้: รองรับการกำหนดค่า JSP
เมื่อคุณใช้เครื่องยนต์เทมเพลตใด ๆ ด้านบนเส้นทางการกำหนดค่าเทมเพลตเริ่มต้นของพวกเขาคือ: SRC/Main/Resources/Templates แน่นอนเส้นทางนี้ยังสามารถแก้ไขได้ สำหรับรายละเอียดคุณสามารถสอบถามและแก้ไขได้ในคุณสมบัติการกำหนดค่าของเอ็นจินเทมเพลตที่ตามมา
thymeleaf
Thymeleaf เป็นเอ็นจิ้นเทมเพลต XML/XHTML/HTML5 ที่สามารถใช้สำหรับการพัฒนาแอปพลิเคชันในสภาพแวดล้อมทั้งเว็บและที่ไม่ใช่เว็บ มันเป็นห้องสมุด Java โอเพ่นซอร์สตามใบอนุญาต Apache License 2.0 และถูกสร้างขึ้นโดย Daniel Fernándezผู้แต่ง Java Library Jasypt
Thymeleaf จัดเตรียมโมดูลเสริมสำหรับการรวมสปริง MVC เข้าด้วยกัน ในการพัฒนาแอปพลิเคชันคุณสามารถใช้ thymeleaf เพื่อแทนที่ JSP หรือเครื่องยนต์เทมเพลตอื่น ๆ อย่างสมบูรณ์เช่น Freemarker ฯลฯ เป้าหมายหลักของ thymeleaf คือการให้วิธีการสร้างเทมเพลตที่มีรูปแบบที่ดีซึ่งสามารถแสดงได้อย่างถูกต้องโดยเบราว์เซอร์ คุณสามารถใช้เพื่อสร้างเทมเพลต XML และ HTML ที่ผ่านการตรวจสอบแล้ว เมื่อเปรียบเทียบกับการเขียนตรรกะหรือรหัสนักพัฒนาเพียงแค่ต้องเพิ่มแอตทริบิวต์แท็กลงในเทมเพลต ถัดไปคุณสมบัติแท็กเหล่านี้จะดำเนินการตรรกะที่มีการขึ้นรูปล่วงหน้าบน DOM (โมเดลวัตถุเอกสาร)
เทมเพลตตัวอย่าง:
<! doctype html> <html xmlns: th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke World </h1> </body> </html>
จะเห็นได้ว่า thymeleaf ส่วนใหญ่จะถูกเพิ่มเข้าไปในแท็ก HTML ในรูปแบบของแอตทริบิวต์ เมื่อเบราว์เซอร์แยกวิเคราะห์ HTML มันจะไม่สนใจเมื่อตรวจสอบว่าไม่มีแอตทริบิวต์ ดังนั้นเทมเพลตของ Thymeleaf สามารถบันทึกได้โดยตรงผ่านเบราว์เซอร์ซึ่งเอื้อต่อการแยกด้านหน้าและด้านหลัง
ในการใช้ thymeleaf ใน Spring Boot คุณจะต้องแนะนำการพึ่งพาต่อไปนี้และเขียนไฟล์เทมเพลตภายใต้เส้นทางเทมเพลตเริ่มต้น SRC/Main/Resources/Templates เพื่อให้เสร็จสมบูรณ์
รวบรวม "org.springframework.boot: Spring-Boot-Starter-Thymeleaf: $ spring_boot_version"
หลังจากเสร็จสิ้นการกำหนดค่าให้ตัวอย่างง่ายๆตามโครงการเริ่มต้นอย่างรวดเร็วให้ตัวอย่างง่ายๆในการแสดงหน้าผ่าน thymeleaf
นำเข้า org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping/*** สร้างโดย http://quanke */ @controlerClass hellocontroller {@requestmapping ("/") ดัชนีความสนุก (แผนที่: modelmap): สตริง {// เพิ่มแอตทริบิวต์เพื่ออ่านแผนที่ AdDattribute ("โฮสต์", "http://quanke.name") -โดยค่าเริ่มต้นให้เพิ่มไฟล์ index.html ในไดเรกทอรี SRC/Main/Resources/Templates
<! doctype html> <html xmlns: th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke World </h1> </body> </html>
เพิ่มวิธีการเริ่มต้นการบูต Spring ที่ใช้งานโดยใช้ภาษา Kotlin:
นำเข้า org.springframework.boot.springapplicationImport org.springframework.boot.autoconfigure.springbootapplication/*** สร้างโดย http://quanke.name เมื่อปี 2018/1/9 */@springbootapplicationclass applicationfun main (args: array <string>) {springapplication.run (แอปพลิเคชัน :: class.java, *args)}ดังที่แสดงในหน้าด้านบนคุณสามารถเปิดหน้า HTML โดยตรงเพื่อแสดง Hello World แต่หลังจากเริ่มโปรแกรมให้ไปที่ http: // localhost: 8080/ซึ่งแสดงค่าโฮสต์ในคอนโทรลเลอร์: http://quanke.name
สำหรับไวยากรณ์หน้าของ Thymeleaf เพิ่มเติมกรุณาเยี่ยมชมเอกสารอย่างเป็นทางการของ Thymeleaf สำหรับการสอบถาม
การกำหนดค่าพารามิเตอร์เริ่มต้นของ Thymeleaf
หากคุณต้องการแก้ไขการกำหนดค่าเริ่มต้นเพียงคัดลอกแอตทริบิวต์ที่คุณต้องการแก้ไขด้านล่างเป็น Application.yml และแก้ไขเป็นค่าที่ต้องการเช่นการแก้ไขส่วนขยายของไฟล์เทมเพลตการแก้ไขเส้นทางเทมเพลตเริ่มต้น ฯลฯ
# เปิดใช้งานเทมเพลต Caching.spring.thymeleaf.cache = จริง # ตรวจสอบว่าตำแหน่งเทมเพลตมีอยู่จริง. encoding.spring.thymeleaf.encoding = UTF-8 # รายการมุมมองที่คั่นด้วยเครื่องหมายจุลภาคที่ควรแยกออกจากความละเอียด spring.thymeleaf.excluded-view-names = # โหมดเทมเพลตที่จะใช้กับเทมเพลต ดูเพิ่มเติมที่ StandardTemplateModeHandlers.spring.thymeleaf.mode = html5 # คำนำหน้าที่ได้รับการเตรียมการเพื่อดูชื่อเมื่อสร้าง url.spring.thymeleaf.prefix = classpath:/ templates/ # คำต่อท้าย Spring.ThyMeleaf.Template-Resolver-order = # ลำดับของตัวแก้ไขเทมเพลตในห่วงโซ่ Spring.ThyMeleaf.View-Names = # รายการมุมมองที่คั่นด้วยเครื่องหมายจุลภาคที่สามารถแก้ไขได้
ทดสอบสภาพแวดล้อมหรือสภาพแวดล้อมการพัฒนาเพื่อหลีกเลี่ยงปัญหาที่ไม่คาดคิด การตั้งค่าทั่วไป: Spring.thymeleaf.cache = true
รองรับการกำหนดค่า JSP
ไม่แนะนำให้ใช้สปริงบูต แต่ถ้าคุณต้องใช้มันคุณสามารถอ้างถึงโครงการนี้ว่าเป็นนั่งร้าน: การสนับสนุน JSP
โดยทั่วไป Kotlin รองรับการบูตสปริงได้ดีมาก คุณจะต้องใช้สปริงบูตในชวาและแปลเป็น kotlin
สรุป
ด้านบนเป็นวิธีการใช้เอ็นจิ้นเทมเพลต thymeleaf เพื่อแสดงการดูเว็บโดย Spring Boot และ Kotlin แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!