Meskipun banyak perkembangan sekarang mengadopsi model front-end dan back-end yang sepenuhnya terpisah, yaitu, back-end hanya menyediakan antarmuka data, dan front-end memperoleh data melalui permintaan AJAX, yang tidak memerlukan mesin templat. Keuntungan dari metode ini adalah bahwa ujung depan dan belakang sepenuhnya terpisah, dan dengan peningkatan alat rekayasa front-end dan kerangka kerja MVC dalam beberapa tahun terakhir, biaya pemeliharaan model ini relatif lebih rendah. Namun, mode ini tidak kondusif untuk SEO dan akan sedikit lebih buruk dalam kinerja. Ada juga beberapa skenario bahwa menggunakan mesin template akan lebih nyaman, seperti templat email. Artikel ini terutama membahas integrasi boot musim semi dengan mesin template Thymeleaf, Freemaker dan JSP.
1. Mengintegrasikan Thymeleaf
Langkah 1: Perkenalkan paket JAR (starter yang sesuai dengan timeleaf):
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-thymeleaf </artifactid> </dependency>
Langkah 2: Konfigurasikan Thymeleaf:
Spring: thymeleaf: awalan: classpath:/template/check-template-lokasi: cache true: false suffix: .html encoding: UTF-8 tipe konten: Teks/HTML Mode: html5
Awalan: Tentukan direktori tempat templat berada
Pemeriksaan-Lokasi-Lokasi: Periksa apakah ada jalur template
Cache: Apakah akan cache, diatur ke false dalam mode pengembangan, hindari mengubah templat dan memulai kembali server. Menetapkannya ke True Online dapat meningkatkan kinerja.
Pengkodean & tipe konten: Setiap orang harus terbiasa dengan ini, yang konsisten dengan atribut yang sesuai yang ditetapkan dalam servlets.
Mode: Silakan merujuk pada instruksi di situs web resmi, dan ini adalah 2.x dan 3.0. Paket yang diperkenalkan secara otomatis dalam artikel ini adalah 2.15.
Langkah ketiga adalah menulis file template thymeleaf:
<! Doctype html> <html xmlns = "http://www.w3.org/1999/xhtml" xmlns: th = "http://www.thymeleaf.org"> <head> <meta content = "teks/html; charset = arim ="> <head> <head> <meta content = "teks/html; charset =" Mesin templat </h6> <table bgcolor = "#f0ffff"> <Thead> <th> nomor seri </t> <tm> judul </t> <th> ringkasan </th> <tr> Waktu penciptaan </t> </tr> </tour> <tbody th: masing -masing = "Artikel: $ {list}"> </tr> </tour = "masing -masing =" artikel: $ {list} "> </tour <tour <td: text = "$ {artikel.title}"> </td> <td th: text = "$ {artikel.summary}"> </td> <td th: text = "$ {artikel.createTime}"> </td> </tr> </tbody> </table> </body> htl> </ttr> </tbody> </table> </body> htl>Seperti yang Anda lihat, Thymeleaf relatif sederhana, dan fitur terbesarnya adalah bahwa tag ada sebagai atribut dari elemen HTML. Dengan kata lain, halaman dapat dipratinjau langsung melalui browser, tetapi tidak ada data. Ini sangat nyaman bagi semua orang untuk debug.
Langkah 4: Konfigurasi Pengontrol:
@Controller @requestMapping ("/artikel") kelas publik ArticLecontroller {@Autowired Private ArticleService ArtikelService; @RequestMapping ("/ArticLeList.html") Public String getarticlelist (model model, judul string, @RequestParam (defaultValue = "10") integer pageSize, @RequestParam (pagultValue = "1") Pagenum Integer; Daftar <Artikel> Daftar = ArtikelService.getarticles (judul, 1L, offset, halaman); model.addattribute ("daftar", daftar); mengembalikan "artikel/artiklelist"; }}Perhatikan bahwa anotasi yang digunakan di sini adalah @Controller, bukan @RestController, karena @RestController akan secara otomatis mengubah hasil pengembalian menjadi string.
Langkah 5 Lihat hasilnya
2. Integrasi antara Spring Boot dan Freemarker
1. Perkenalkan Paket JAR (starter yang sesuai dengan Freemarker)
<dependency> <GroupId> org.springframework.boot </groupid> <ArTifactId> Spring-boot-starter-freemarker </t Artifactid> </dependency>
2. Mengkonfigurasi Freemarker:
Spring: Freemarker: template-loader-path: classpath:/template/sufiks: .ftl konten-tipe: teks/html charset: UTF-8 Pengaturan: number_format: '0. ##'
Selain pengaturan, opsi konfigurasi lainnya mirip dengan Thymeleaf. settings will have an impact on some behaviors of freemarkers, such as date formatting, number formatting, etc. Interested students can refer to the instructions provided by the official website: https://freemarker.apache.org/docs/api/freemarker/template/Configuration.html#setSetting-java.lang.String-java.lang.String-
3. Tulis file template freemarker:
<Html> <Title> Daftar Artikel </iteme> <hody> <h6> mesin templat freemarker </h6> <able> <Thead> <tr> <t th> Nomor seri </t th> <Th> judul </t> <ter> Ringkasan </th> <TR> </TR> </tr> </tHeAd> </TR> ACTERSION </TR> </TR> </TRREAD> </THEAD> <td>${article.id}</td> <td>${article.title}</td> <td>${article.summary}</td> <td>${article.createTime?string('yyyy-MM-dd hh:mm:ss')}</td> </tr> </#list> </able> </body> </html>4. Write Controller:
@Controller @requestMapping ("/artikel") kelas publik ArticLecontroller {@Autowired Private ArticleService ArtikelService; @RequestMapping ("/list.html") Public String getarticles (model model, judul string, @RequestParam (defaultValue = "10") integer pagesze, integer pagenum) {if (pagesize == null) {pageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum - 1) * halaman; Daftar <Artikel> Daftar = ArtikelService.getarticles (judul, 1L, offset, halaman); model.addattribute ("daftar", daftar); mengembalikan "artikel/daftar"; }}5. Kunjungi halaman:
3. Sring Boot terintegrasi dengan JSP:
Dalam pengembangan proyek formal, templat JSP jarang digunakan sekarang, jadi Spring Boot mendukung JSP tidak terlalu baik, sehingga relatif lebih rumit untuk dikonfigurasi daripada Thymeleaf dan Freemaker.
Langkah pertama adalah memperkenalkan paket JAR:
<Gendensi> <GroupId> javax.servlet </groupid> <ArTifactId> jstl </artifactid> </dependency> <dependency> <groupid> org.apache.tomcat.embed </groupid> <ArTifactId> tomcat-embed-jasper </arttifactid> </dependency>
Ketergantungan JSTL pertama digunakan untuk mendukung EL Expressions, dan yang kedua digunakan untuk mendukung JSP. Perhatikan bahwa jika berjalan di tomcat eksternal, Anda perlu mengatur ruang untuk menyediakan konflik paket jar.
Langkah 2: Buat direktori WebApp secara manual:
Anda perlu secara manual membuat direktori webapp di direktori utama, dengan struktur sebagai berikut:
Langkah 3 Konfigurasi Kekuatan Jalan JSP:
Tambahkan konfigurasi berikut di application.yml:
Spring: MVC: View: awalan:/web-inf/jsp/suffix: .jsp
Mereka yang memahami Spring MVC harus terbiasa dengan konfigurasi di atas.
Langkah 4: Tulis halaman JSP:
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html><head> <title>Title</title></head><body> <table> <c:forEach var="article" item = "$ {list}"> <tr> <td> $ {artikel.id} </td> <td> $ {artikel.title} </td> <td> $ {artikelLangkah 5: Tulis pengontrol:
@RequestMapping ("/listjsp") string publik getarticlelistjsp (model model, judul string, @RequestParam (defaultValue = "10") integer pageSize, integer pagenum) {if (pageSize == null) {pageSize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum - 1) * halaman; Daftar <Artikel> Daftar = ArtikelService.getarticles (judul, 1L, offset, halaman); model.addattribute ("daftar", daftar); mengembalikan "artikel"; }Langkah 6 Untuk mengakses halaman hasil:
4. Ringkasan
Secara keseluruhan, Spring Boot ramah untuk dukungan Thymeleaf dan Freemaker, dan konfigurasinya relatif sederhana. Dalam pengembangan aktual, kebanyakan dari mereka terutama didasarkan pada dua mesin templat ini, dan ada beberapa JSP. JSP sekarang dapat digunakan lebih banyak selama tahap percobaan atau pembelajaran. Hal yang lebih merepotkan tentang konfigurasi JSP adalah tidak seperti dua yang pertama. Pernyataan online pada dasarnya sama, tetapi ada banyak pernyataan tentang konfigurasi JSP, seperti apakah perlu mengubah paket JAR menjadi paket perang? Apakah ketergantungan JSP perlu diatur untuk disediakan, dll. Ini terutama tergantung pada apakah Anda ingin menggunakan program ke tomcat eksternal pada akhirnya atau menjalankan toples secara langsung? Karena artikel ini secara langsung menjalankan kelas aplikasi di bawah IDEA, operasi ini tidak diperlukan.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.