Dengan perkembangan pesat Internet, pembangunan aplikasi web telah menjadi semakin biasa. Untuk menjadikan aplikasi web lebih mudah dibaca dan diselenggara, pembangun sering menggunakan enjin templat web untuk pemaparan paparan. Dalam pembangunan Java, terdapat banyak enjin templat web yang popular, dan FreeMarker adalah salah satu daripadanya.
Artikel ini akan memperkenalkan enjin templat Web FreeMarker dan penggunaannya dalam pembangunan API Java, termasuk ciri terasnya, konfigurasi dan aplikasinya dalam pertempuran sebenar.
1. Apakah itu FreeMarker
FreeMarker ialah enjin templat Java sumber terbuka yang menggunakan kaedah berasaskan templat untuk menjana teks statik atau halaman web dinamik. Cirinya ialah pengasingan templat dan kod program, yang menjelaskan sempadan antara prestasi dan logik, memisahkan pemaparan halaman dan logik perniagaan, serta meningkatkan kebolehbacaan dan kebolehselenggaraan kod. FreeMarker menyokong pelbagai jenis templat seperti templat teks, templat XML, templat HTML, perpustakaan tag JSP, dsb., dan boleh disepadukan dengan pelbagai rangka kerja web, seperti Struts2, Spring MVC, dsb.
FreeMarker mempunyai ciri berikut:
2. Penggunaan FreeMarker API
FreeMarker menyediakan banyak API untuk menggunakannya untuk menjana templat kami melibatkan mengkonfigurasi FreeMarker untuk memancarkan templat. Seterusnya, kami menunjukkan cara untuk menyediakan dan menggunakan API FreeMarker.
Pertama, kita perlu menambah kebergantungan FreeMarker dalam fail pom.xml projek:
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.31</version> </dependency>
Untuk mencipta FreeMarker atau anda memerlukan konfigurasi untuk memberitahunya cara memuatkan templat, rujuk contoh kod berikut:
Configuration configuration = new Configuration(Configuration.VERSION_2_3_28); configuration.setClassForTemplateLoading(YourClass.class, "templates");
Di mana, VERSION_2_3_28 ialah nombor versi FreeMarker, setClassForTemplateLoading () Kaedah menetapkan laluan untuk FreeMarker untuk memuatkan templat.
Seterusnya, anda perlu menetapkan data input templat. Dalam FreeMarker, latar belakang ini ialah Peta dan Peta ini perlu mengandungi semua data yang ingin kami gunakan dalam templat. Kita boleh menggunakan jenis SimpleHash untuk mencipta Peta ini:
Map<String, Object> input = new HashMap<String, Object>(); input.put("title", "FreeMarker Example");
Dalam contoh ini, kami menambah "tajuk" sebagai kunci dan "Contoh FreeMarker" sebagai nilai pada input.
Akhir sekali, kita perlu memuatkan templat dan memberikan data input ke dalam templat, rujuk contoh kod berikut:
Template template = configuration.getTemplate("example.ftl"); Writer out = new OutputStreamWriter(System.out); template.process(input, out); out.flush();
Dalam contoh ini, "example.ftl" ialah fail templat Kami menggunakan kaedah configuration.getTemplate() untuk memuatkannya dan kaedah template.process() untuk memaparkan data dalam input ke dalam templat, dan akhirnya mengeluarkannya keluar.
Sintaks templat FreeMarker mentakrifkan teg templat, format dan kaedah terbina dalam. Penanda templat ialah arahan dalam templat, yang terdiri daripada kod templat FreeMarker dalam sepasang teg ${} atau 72637aecae1027e7d023ac098a170986
Berikut ialah beberapa penanda FreeMarker:
3. Contoh aplikasi FreeMarker
Di bawah kami akan menunjukkan cara menggunakan FreeMarker untuk menulis templat dalam pembangunan API Java.
Mula-mula, kita perlu menulis fail templat FreeMarker, contohnya, test.ftl:
<html> <head> <title>${title}</title> </head> <body> <h1>${title}</h1> <ul> <#list users as user> <li>${user.name} (${user.email})</li> </#list> </ul> </body> </html>
Dalam contoh ini , kami Gunakan teg ${...} untuk merujuk data dalam input, dan menggunakan teg 364e9d80cdc5c997ad29773a08b6c2809fc13d131a1403f8a03377ed174a3a41 setiap pengguna.
Kemudian, kita perlu tetapkan model data, rujuk contoh kod berikut:
Map<String, Object> input = new HashMap<String, Object>(); input.put("title", "FreeMarker Example"); ListuserList = new ArrayList (); userList.add(new User("Tom", "tom@example.com")); userList.add(new User("Jerry", "jerry@example.com")); input.put("users", userList); Configuration configuration = new Configuration(Configuration.VERSION_2_3_28); configuration.setClassForTemplateLoading(YourClass.class, "/templates"); Template template = configuration.getTemplate("test.ftl"); Writer out = new OutputStreamWriter(System.out); template.process(input, out); out.flush();
Dalam contoh ini, kami Kelas JavaBean bernama Pengguna dicipta Apabila membuat Peta, kami menggunakan userList sebagai kunci dan rujukan Senarai sebagai nilai, dan menambahnya pada input.
3. Ringkasan
Artikel ini memperkenalkan enjin templat Web FreeMarker dan penggunaannya dalam pembangunan API Java. FreeMarker menjadikan pembangunan aplikasi web lebih mudah sambil meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Dengan menerangkan ciri teras, konfigurasi dan aplikasi FreeMarker dalam amalan, kami berharap dapat membantu pembaca memahami dan menggunakan FreeMarker dengan lebih baik.
Atas ialah kandungan terperinci Menggunakan FreeMarker untuk pemprosesan enjin templat Web dalam pembangunan API Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!