Artikel ini memperkenalkan boot Spring dan Kotlin untuk membuat tampilan web menggunakan mesin template thymeleaf.
Akses Sumber Daya Statis
Ketika kami mengembangkan aplikasi web, kami perlu merujuk sejumlah besar sumber daya statis seperti JS, CSS, dan gambar. Bagaimana cara mendukung sumber daya statis ini menggunakan Spring Boot dan Kotlin? , sangat sederhana.
Konfigurasi default
Spring Boot menyediakan lokasi direktori sumber daya statis secara default dan harus ditempatkan di bawah ClassPath, dan nama direktori harus mematuhi aturan berikut:
/statis/publik/sumber daya/meta-inf/sumber daya
Misalnya: kita dapat membuat statis di src/main/sumber daya/direktori dan menempatkan file gambar di lokasi itu. Setelah memulai program, cobalah untuk mengakses http: // localhost: 8080/ruby.jpg. Jika gambar dapat ditampilkan, konfigurasi akan berhasil.
Rendering halaman web
Sebelumnya, permintaan diproses melalui @RestController, dan konten yang dikembalikan adalah objek JSON. Jika Anda perlu membuat halaman HTML, bagaimana mengimplementasikannya?
Mesin template
Di bawah mesin template yang direkomendasikan oleh Spring Boot, kami dapat dengan cepat memulai dengan mengembangkan situs web dinamis.
Spring Boot menyediakan mesin template konfigurasi default dengan jenis utama berikut:
Thymeleaffreemarkergroovymustache
Spring Boot merekomendasikan untuk menggunakan mesin templat ini untuk menghindari penggunaan JSP. Jika Anda harus menggunakan JSP, Anda tidak akan dapat mengimplementasikan berbagai fitur Spring Boot. Untuk detailnya, Anda dapat melihat teks berikut: Mendukung konfigurasi JSP.
Saat Anda menggunakan salah satu mesin templat di atas, jalur konfigurasi templat defaultnya adalah: SRC/Main/Resources/Templat. Tentu saja, jalur ini juga dapat dimodifikasi. Untuk detailnya, Anda dapat meminta dan memodifikasinya di properti konfigurasi mesin templat berikutnya.
Thymeleaf
Thymeleaf adalah mesin templat XML/XHTML/HTML5 yang dapat digunakan untuk pengembangan aplikasi di lingkungan web dan non-WEB. Ini adalah perpustakaan Java open source berdasarkan lisensi Lisensi Apache 2.0 dan dibuat oleh Daniel Fernández, penulis Perpustakaan Enkripsi Java Jasypt.
Thymeleaf menyediakan modul opsional untuk mengintegrasikan pegas MVC. Dalam pengembangan aplikasi, Anda dapat menggunakan Thymeleaf untuk sepenuhnya menggantikan JSP atau mesin templat lainnya, seperti Freemarker, dll. Tujuan utama thymeleaf adalah untuk menyediakan metode pembuatan templat yang dibentuk dengan baik yang dapat ditampilkan dengan benar oleh browser, dan karenanya juga dapat digunakan sebagai pemodelan statis. Anda dapat menggunakannya untuk membuat templat XML dan HTML yang divalidasi. Dibandingkan dengan menulis logika atau kode, pengembang hanya perlu menambahkan atribut tag ke templat. Selanjutnya, properti tag ini menjalankan logika yang telah dibentuk sebelumnya pada DOM (model objek dokumen).
Template Sampel:
<!DOCTYPE html><html xmlns:th="http://www.w3.org/1999/xhtml"><head lang="en"> <meta charset="UTF-8" /> <title>quanke.name</title></head><body><h1 th:text="${host}">Hello Dunia </h1> </body> </html>Dapat dilihat bahwa thymeleaf terutama ditambahkan ke tag HTML dalam bentuk atribut. Ketika browser mem -parsing HTML, itu akan mengabaikannya ketika memeriksa bahwa tidak ada atribut. Oleh karena itu, templat Thymeleaf dapat direkam secara langsung melalui browser, yang sangat kondusif untuk pemisahan ujung depan dan belakang.
Untuk menggunakan Thymeleaf di Spring Boot, Anda hanya perlu memperkenalkan dependensi berikut dan menulis file template di bawah jalur template default SRC/main/sumber daya/templat untuk menyelesaikannya.
kompilasi "org.springframework.boot: spring-boot-starter-thymeleaf: $ spring_boot_version"
Setelah menyelesaikan konfigurasi, berikan contoh sederhana, berdasarkan proyek Start Quick, berikan contoh sederhana untuk membuat halaman melalui Thymeleaf.
Impor org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping/*** Dibuat oleh http://quanke.name pada 2018/1/10. */ @ControllerClass HelloController {@RequestMapping ("/") Fun Index (peta: ModelMap): String {// Tambahkan atribut untuk membaca peta.addattribute ("host", "http://quanke.name") di Templat // Nama Template/Http.HMLATE/HTMLATES/DAYA MAING//SUSERI MAING // NAMA TEMPLED/HTTP.HMLATE/DAYA KEMBALI/DAYA KEMBALI/DAYA/DAYA MAING // NAMA TEMPLED/HTTP.HMLATES/DAYA KEMBALI/DAYA KEMBALI/DAYA KEMBALI/DAYA KEMBALI/DAYA KEMBALI/DAYA/ }}Secara default, tambahkan file index.html di direktori SRC/Main/Resources/Templates.
<!DOCTYPE html><html xmlns:th="http://www.w3.org/1999/xhtml"><head lang="en"> <meta charset="UTF-8" /> <title>quanke.name</title></head><body><h1 th:text="${host}">Hello Dunia </h1> </body> </html>Tambahkan Metode Startup Spring Boot Diimplementasikan Menggunakan Bahasa Kotlin:
impor org.springframework.boot.springapplicationImport org.springframework.boot.autoconfigure.springbootApplication/*** Dibuat oleh http://quanke.name pada 2018/1/9. */@SpringbootApplicationClass applicationFun main (args: array <string>) {springapplication.run (application :: class.java, *args)}Seperti yang ditunjukkan di halaman di atas, Anda dapat langsung membuka halaman HTML untuk menampilkan Hello World, tetapi setelah memulai program, kunjungi http: // localhost: 8080/, yang menunjukkan nilai host di pengontrol: http://quanke.name, yang mencapai pemisahan logis data tanpa menghancurkan konten HTML sendiri.
Untuk sintaks halaman Thymeleaf lebih lanjut, silakan kunjungi dokumentasi resmi Thymeleaf untuk pertanyaan.
Konfigurasi parameter default timeleaf
Jika Anda perlu memodifikasi konfigurasi default, cukup salin atribut yang ingin Anda ubah di bawah ini menjadi application.yml dan memodifikasinya ke nilai yang diperlukan, seperti memodifikasi ekstensi file templat, memodifikasi jalur template default, dll.
# Aktifkan Template Caching.spring.thymeleaf.cache = true # Periksa apakah lokasi template ada.spring.thymeleaf.check-template-location = true # tipe konten. encoding.spring.thymeleaf.encoding = UTF-8 # Daftar nama tampilan yang dipisahkan koma yang harus dikecualikan dari resolusi. Lihat juga StandardTemplatemodeHandlers.spring.thymeleaf.mode = html5 # awalan yang mendapat prepended untuk melihat nama saat membangun url.spring.thymeleaf.prefix = classpath:/ template/ # sufiks yang ditambahkan untuk melihat saat membangun url.spring.thymeleaf. spring.thymeleaf.template-resolver-order = # urutan resolver template dalam rantai. spring.thymeleaf.view-names = # Daftar nama tampilan yang dipisahkan koma yang dapat diselesaikan.
Lingkungan pengujian atau lingkungan pengembangan untuk menghindari masalah yang tidak terduga. Pengaturan Umum: spring.thymeleaf.cache = true
Dukung konfigurasi JSP
Spring Boot tidak disarankan, tetapi jika Anda harus menggunakannya, Anda dapat merujuk pada proyek ini sebagai perancah: Dukungan JSP
Secara umum, Kotlin mendukung boot musim semi dengan sangat baik. Anda hanya perlu menggunakan boot musim semi di java dan menerjemahkannya ke dalam Kotlin.
Meringkaskan
Di atas adalah metode menggunakan mesin template thymeleaf untuk membuat tampilan web berdasarkan boot spring dan Kotlin diperkenalkan kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!