Dalam artikel sebelumnya, saya memperkenalkan penjelasan terperinci tentang IOC Spring Learning Notes 1 dan mencoba menggunakan anotasi dan kode Java sebanyak mungkin. Selanjutnya, artikel ini berfokus pada memperkenalkan Verifikasi Data Formulir Catatan Pembelajaran Musim Semi 2 dan kode contoh unggah file. Untuk detailnya, silakan merujuk ke artikel ini!
1. Bentuk verifikasi data
Saat mendaftar, pengguna perlu mengisi akun, kata sandi, email, dan nomor ponsel mereka, yang diperlukan dan harus memenuhi format tertentu. Misalnya, akun harus kurang dari 32 digit, email harus memenuhi format email, dan nomor ponsel harus berupa nomor 11 digit, dll. Anda dapat menggunakan informasi verifikasi pada saat pendaftaran, atau menulis kelas alat khusus untuk verifikasi; Mari kita lihat cara mengimplementasikan verifikasi data formulir melalui anotasi sederhana di SpringMVC.
Di bawah paket javax.validation.constraints, beberapa anotasi didefinisikan. Misalnya:
@Notnull: Nilai elemen beranotasi tidak boleh nol. Catatan: Jika Anda tidak mengisi data apa pun dalam formulir, itu tidak berarti bahwa itu nol, tetapi string kosong.
@Size: Elemen beranotasi harus berupa string, koleksi, atau array, dan panjangnya harus memenuhi kisaran yang diberikan.
@PAST: Nilai elemen beranotasi harus masa lalu.
@Digits: Elemen beranotasi harus menjadi angka, dan nilainya harus memiliki jumlah digit yang ditentukan.
@Pattern: Nilai elemen beranotasi harus cocok dengan ekspresi reguler yang diberikan
Selain itu, lebih banyak anotasi didefinisikan di bawah paket org.hibernate.validator.constraints. Misalnya:
@Email: Cocokkan format email.
@Url: Cocokkan format URL.
Mari kita lihat cara menggunakannya di SpringMVC.
1. Pertama memuat yang diperlukan dalam file pom.xml
<dependency> <GroupId> javax.validation </groupid> <ArtifactId> validasi-API </arttifactid> <version> 1.1.0.Final </version> </dependency> <dependency> <groupid> org.hibernate </groupId> <ArTifactid> Hibernate-validator </art
Perlu dicatat bahwa javax. Validasi hanya mendefinisikan API verifikasi, dan implementasi API harus ditambahkan, seperti org.hibernate.validator, jika tidak kesalahan akan dilaporkan.
2. Tambahkan anotasi ke properti kelas, ambil user.java sebagai contoh.
Pengguna kelas publik mengimplementasikan serializable {@size (min = 32, maks = 32, pesan = "UUID harus berupa string 32-bit") Private String ID; @Size (min = 1, max = 32, pesan = "Panjang akun tidak bisa antara 1-32-bit") Private String UserName; @noTempty (message = "MESSAGE =" MESSAGET "tidak bisa kosong (" Nomor "tidak ada kata sandi@nexply@nepspy = @noTempty (pesan") kosong ")@email (pesan =" Email tidak bisa kosong ") email string pribadi; @size (min = 11, maks = 11, pesan =" Panjang nomor ponsel adalah 11 digit ") Seluler string pribadi;} Pesan: Jika verifikasi data formulir gagal, pesan kesalahan dapat ditampilkan.
3. Terapkan fungsi verifikasi di UserController dan tambahkan anotasi @Valid.
Ambil usercontroller.java sebagai contoh:
@Controller@requestMapping ("/user") kelas publik usercontroller {private userserserServer. Objek menerapkan fungsi verifikasi if (errors.haserrors ()) {// jika bentuk verifikasi gagal, kembali ke halaman pendaftaran mengembalikan "register";} if (user.getId () == "") user.setid (uuid.randomuuid (). ifeate (). Date (). GetTime ()); userservice.adduser (pengguna); redirect:/user/" + user.getusername ();}} 4. Tulis file JSP dan tampilkan halaman, ambil register.jsp sebagai contoh:
<%@ page contentType = "Teks/html; charset = utf-8" bahasa = "java"%> <%@ taglib awalan = "c" uri = "http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix = "sf" URI = "http://www.springframework.org/tags/form" %> < %@ page session = "false" %> <html lang = "en"> <head> <title> Daftar </title> <link rel = "styles" type = "text/css" href = "<c: c:" cower "href =" <c: "c:" CSOS/COYS/CSSS/CSSS/CSS "CSS/CSSS/CSSS/CSS" >/head><body><sf:form method="POST" action="/register/user/register" commandName="user"><%-- If form data verification fails, error message is displayed-%><sf:errors path="*" element="div" cssClass="errors"/><br /><table align="center"><tr><td>UserName: </td> <td> <sf: input path = "nama pengguna" csserrorclass = "kesalahan"/> </td> <tr> <td> Kata sandi: </td> <td> <sf: kata sandi = </tr> </td </td </td </td </td </td </td </td </td </td </td </td </td </td </td </tr> path = "email" csserrorclass = "errors"/> </td> </tr> <tr> <td> ponsel: </td> <td> <sf: input path = "ponsel" csserrorclass = "kesalahan"/> </td> </tr> </tabel> <bR/> <input = " value = "register"/> </sf: form> </body> </html>
Efek terakhir adalah sebagai berikut:
2. Unggah file
Di Spring, mengunggah file sederhana dan hanya membutuhkan 3 langkah.
1. Jika dispartcherServlet kami mengonfigurasi warisan AbstractAnnotationConfigDispatcherServLeTInitializer, kelebihan metode Customizeregistration () untuk mengonfigurasi detail spesifik dari multipart.
@Overrideprotected void customizeregistration (servletregistration.dynamic Registration) {// Batasi ukuran file yang diunggah hingga tidak lebih dari 2MB, seluruh permintaan tidak melebihi 4M, dan semua file yang diunggah, 4130, "unggah," oDLIPARTCONCONFIG ("/Upougel ("194,"/204, "/209,"/209, "/209,"/209, "/209,"/209, "/209,"/209, "/209," oDLIPARTConfig (MultipartConfigel New130, " 0));} 2. Mengkonfigurasi parser multipart.
// Mengkonfigurasi resolver multipart @beanpublic multipartresolver multipartresolver () melempar ioException {return new StandardServletMultiPartresolver ();} 3. Proses Permintaan Multipart. Untuk informasi seperti file yang diunggah oleh pengguna, Anda dapat menggunakan array byte [] untuk mewakilinya, tetapi disarankan agar antarmuka multipartfile yang disediakan oleh Spring disarankan. Ini menyediakan lebih banyak fungsi, seperti mendapatkan nama file, ukuran file, jenis file, dll.
@RequestMapping (value = "/{username}", method = requestMethod.post) string publik showuserinfo (@RequestPart ("ikon") ikon multipartfile) lemparan ioException {icon.transferto (SCHIP/SPRINP/PENGGUNA/Pengguna/Pengguna/Proyek/Proyek/IdeLEPREPREPREPTS/SPOING/SPRING/SPREED/SPREED/SPREED/SURAP/PENGACAR icon.getoriginalfileName ())); return "user";} Metode Transferto (File Dest): Tulis file ke sistem.
Tulis tes halaman untuk melihat apakah file dalam direktori file yang ditentukan telah berhasil diunggah.
<Form Method = "Posting" enctype = "multipart/form-data"> <label> unggah gambar avatar? </label> <input type = "file" name = "ikon" accept = "gambar/jpeg, gambar/png" value = "pilih file"/> <typon type = "kirim"> konfirmasi </tombol> </form>
1. Referensi: Praktik Praktis Musim Semi (Edisi ke -4).
2. Alamat GitHub: https://github.com/everseeker0307/register.
Di atas adalah verifikasi data formulir dan file unggahan file kode pembelajaran musim semi 2 diperkenalkan kepada Anda oleh editor. 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!