Kata pengantar
Biasanya ketika kami melakukan pengembangan, kami akan menemukan kebutuhan untuk mengirim pesan teks dan email. Pelanggan sering menyediakan templat untuk konten pengiriman. Jika kita menyambungkan string dalam program untuk mendapatkan template ini, itu jelas merupakan cara untuk menipu rekan satu tim kita. Secara umum, templat ditempatkan dalam file properti dan mengganti beberapa variabel saat digunakan.
Dalam artikel ini, kami menggunakan Springboot untuk mengimplementasikan fungsi mengirim kode verifikasi SMS berdasarkan templat. Saya tidak akan mengatakan banyak hal di bawah ini, mari kita lihat perkenalan terperinci bersama.
Tips:
1. Ekspresi reguler
2. Springboot membaca file properti
Definisi template
Tentukan templat SMS yang perlu ditentukan dalam file msg.properties, dengan direktori yang sama dengan application.properties. Perhatikan bahwa [[kode]] di dalamnya adalah variabel yang akan diganti.
tem.msg.verify.code = Kode verifikasi adalah: [kode], tolong jangan mengungkapkannya kepada orang lain.
Baca properti
Tentukan komponen msgconstants, tentukan file properti yang akan dimuat, digunakan untuk membaca template yang ditentukan, gunakan anotasi @Value pegas
@PropertySource ("classpath: msg.properties") @componentpublic kelas msgconstatns {@value ("$ {tem.msg.verify.code}") Private String sendcodemsg; string publik getSendCodemsg () {return sendCodemsg; } public void setSendCodemsg (String sendCodemsg) {this.sendCodemsg = sendCodemsg; }}Analisis Kelas Alat Template
Mempertimbangkan umum, atur parameter ke peta, yaitu, variabel yang perlu diganti, dan ekspresi reguler menggantikan kunci yang sesuai. Format kunci di sini adalah: {key}, yang dapat dimodifikasi sesuai dengan situasi Anda sendiri dan memodifikasi reguler pada saat yang sama.
public static String getContent (peta <string, string> params, string content) {string reg = "// {// w*}"; // pola pola = pola.compile (reg); Pencocokan pencocokan = pola.matcher (konten); while (matcher.find ()) {string group = matcher.group (); // string key = group.substring (1, grup.length () - 1); if (! params.containskey (key)) melempar normalexception baru ("Tidak ada kunci yang akan diganti ditemukan:" + kunci); content = content.replace (grup, params.get (key)); } mengembalikan konten; }tes
Permintaan AJAX yang sangat sederhana mengembalikan konten pesan teks yang diterima
@Restcontroller @requestMapping ("Demo") Democontroller kelas publik {@resource pribadi msgconstatns msgconstatns; @RequestMapping ("msg") public String msgContent () {string code = "123456"; // Dalam pengembangan formal, angka acak umumnya digunakan peta <string, params> params = hashmap baru <> (); params.put ("kode", kode); return sendcodeutil.getContent (params, msgconstatns.getsendCodemsg ()); }}hasil
Nilai yang Diharapkan: Kode Verifikasi adalah: 123456, tolong jangan mengungkapkannya kepada orang lain
Efek aktual:
Meringkaskan
Di atas adalah seluruh konten artikel ini. Saya berharap konten artikel ini memiliki nilai referensi tertentu untuk studi atau pekerjaan semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi. Terima kasih atas dukungan Anda ke wulin.com.