Rumah  >  Artikel  >  Java  >  Menggunakan Thymeleaf untuk pemprosesan enjin templat Web dalam pembangunan API Java

Menggunakan Thymeleaf untuk pemprosesan enjin templat Web dalam pembangunan API Java

WBOY
WBOYasal
2023-06-18 09:02:381146semak imbas

Dalam pembangunan Web, enjin templat ialah alat yang digunakan untuk menjana HTML dinamik Ia menggabungkan data dengan templat HTML untuk menjana halaman HTML akhir. Thymeleaf ialah enjin templat yang baru muncul Sebagai enjin templat Java, ia menyokong HTML, XML, JSP, JavaScript dan CSS Dengan memisahkan data dan templat, ia menjadikan penjanaan HTML lebih fleksibel dan lebih mudah untuk dikekalkan.

Artikel ini terutamanya memperkenalkan cara menggunakan Thymeleaf untuk memproses enjin templat Web dalam pembangunan API Java.

1. Pengenalan kepada Thymeleaf

Thymeleaf ialah enjin templat Java yang boleh digunakan dalam persekitaran web dan bukan web. Sebagai enjin templat untuk pembangun, Thymeleaf boleh mencapai satu siri faedah seperti memendekkan kitaran pembangunan, mengurangkan jumlah kod, mengurangkan kebergantungan luaran dan meningkatkan kebolehselenggaraan dengan menyepadukan dengan rangka kerja seperti Spring.

2. Gunakan Thymeleaf untuk pemprosesan enjin templat

  1. Perkenalkan kebergantungan Thymeleaf

Tambah kebergantungan dalam fail pom.xml:

<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring5</artifactId>
    <version>3.0.12.RELEASE</version>
</dependency>
  1. Konfigurasikan pandangan Thymeleaf

Untuk menggunakan Thymeleaf sebagai penghurai pandangan, anda perlu mengkonfigurasinya dalam Spring Boot:

@Configuration
public class ThymeleafConfig {
    @Autowired
    private ApplicationContext applicationContext;

    @Bean
    public ITemplateResolver templateResolver() {
        SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
        resolver.setApplicationContext(applicationContext);
        resolver.setPrefix("classpath:/templates/");
        resolver.setSuffix(".html");
        resolver.setCharacterEncoding("UTF-8");
        resolver.setCacheable(false);
        return resolver;
    }

    @Bean
    public SpringTemplateEngine templateEngine() {
        SpringTemplateEngine engine = new SpringTemplateEngine();
        engine.setTemplateResolver(templateResolver());
        return engine;
    }

    @Bean
    public ViewResolver viewResolver() {
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setTemplateEngine(templateEngine());
        resolver.setCharacterEncoding("UTF-8");
        return resolver;
    }
}
  1. Tulis templat Thymeleaf

Buat fail HTML dalam direktori src/main/resources/templates:

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <title>Thymeleaf Example</title>
</head>
<body>
  <p th:text="'Hello, ' + ${name} + '!'" />
</body>
</html>

Antaranya, xmlns:th="http://www.thymeleaf.org" mewakili penggunaan teg Thymeleaf dan ${name} ialah parameter yang diluluskan.

  1. Memproses templat

Proses permintaan dalam Pengawal dan render templat dalam cara Thymeleaf:

@Controller
public class HelloController {
    @GetMapping("/hello")
    public String hello(Model model) {
        model.addAttribute("name", "World");
        return "hello";
    }
}

Antaranya, parameter "hello" menunjukkan bahawa pemprosesan telah selesai Templat yang perlu diberikan atas permintaan.

  1. Jalankan program

dan masukkan http://localhost:8080/hello dalam penyemak imbas, anda boleh melihat output: Hello, World!.

3. Kesimpulan

Kesederhanaan dan kemudahan penggunaan Thymeleaf menjadikannya digunakan secara meluas dalam pembangunan web. Artikel ini terutamanya memperkenalkan kaedah menggunakan Thymeleaf untuk pemprosesan enjin templat Web dalam pembangunan API Java. Saya harap ia akan membantu.

Atas ialah kandungan terperinci Menggunakan Thymeleaf untuk pemprosesan enjin templat Web dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn