1. Ada metode validasi () dalam Actionupport. Metode ini adalah metode verifikasi. Ini akan dieksekusi sebelum metode Execute () dieksekusi, sehingga dapat memainkan peran yang baik dalam verifikasi.
@Override // Tulis ulang metode validate () dalam tindakan public void validate () {if (null == this.userName || this.userName.length () <4 || this.username.length ()> 6) {this.addactionError ("username invadate");}} A. Jika verifikasi gagal, kita dapat memanggil addactionError ("pesan kesalahan"); Dengan cara ini, pesan kesalahan akan disimpan.
Setelah seluruh metode validasi dijalankan, sistem akan secara otomatis memeriksa halaman JSP yang sesuai dengan nama = "input". Umumnya disarankan untuk melompat ke halaman yang kami daftarkan, yaitu, dari mana kami berasal dan ke mana kami pergi
/RegisterResult.jsp/register.jsp
B. Lalu kami adalah register.jsp
Artinya, tambahkan tag struts2 ini ke halaman pendaftaran awal
<S: ActionError cssstyle = "Color: Red"/>
Artinya adalah: jika ada pesan kesalahan, yaitu, ActionError ada, lalu output pesan kesalahan ini.
Selain itu, kami dapat mengatur tag ke CSS
// Perhatikan bahwa menggunakan tag Struts2 harus memperkenalkan tag dalam file header: < %@ taglib awalan = "s" uri = "/struts-tag" %>
C.
Cara untuk membandingkan tanggal:
Brithday dan lulusan adalah jenis tanggal
if (null! = ulang tahun && null! = kelulusan) {calendar c1 = calendar.getInstance (); c1.settime (ulang tahun); calendar c2 = calendar.getInstance (); c2.settime (kelulusan); if (! c1.beFore (c2)) {this.addactionerrorerrorerroreerr if (!2. Level aksi dan level lapangan. Dengan cara ini, kami dapat menambahkan ke level yang berbeda saat menambahkan kesalahan, dan kami dapat lebih fleksibel saat mendorong pesan kesalahan, tanpa menambahkan semua informasi ke tingkat tindakan, semua informasi akan ditampilkan sama. Misalnya: Kita perlu menggunakan font merah untuk mewakili pesan kesalahan dari kesalahan kata sandi yang diulang, sementara informasi lain, seperti nama pengguna, usia, dll., Diwakili dalam font hijau. Saat ini, Anda dapat menambahkannya ke level yang berbeda dengan menggunakannya.
Di halaman pendaftaran, cukup tulis tag tingkat lapangan. sebagai berikut:
<S: ActionError cssstyle = "Color: Red" // Level Action <S: Fielderror cssstyle = "Color: Blue"> </s: fielderror> // level lapangan validate public void validate () {if (null == this.userName || this.username.length () <4 || this.userName.length ()> 6) {this.addactionError ("nama pengguna Invadate"); // Tambahkan pesan kesalahan di level tindakan this.addfielderror ("username", "username name in invadate di level ini.3. Setelah mengirim kesalahan, informasi asli akan ditampilkan dalam formulir.
<s:form action="RegisterAction"><s:textfield name="username" label="username"></s:textfield><s:password name="password" label="password"></s:password><s:password name="repassword" label="repassword"></s:password><s:textfield name="age" label="age"></s:textfield><s:textfield name="birthday" Label = "Brithday"> </s: TextField> <S: TextField Name = "Graduate" Label = "Graduate"> </s: TextField> <S: Kirim nilai = "Kirim"> </s: Kirim> </s: formulir>
Menggunakan tag Struts2, itu dapat mengetik secara otomatis dan kemudian menampilkan informasi level bidang yang salah seperti yang ditunjukkan di bawah ini.
4. Namun, meskipun metode ini secara otomatis menggunakan tabel untuk mengetiknya lebih nyaman, itu tidak memenuhi kebutuhan kita dalam banyak kasus, sehingga kita dapat menggunakan pengaturan huruf khusus.
Metode 2: Tentukan metode tata letak menjadi sederhana, sehingga kita dapat mengetiknya sendiri dalam metode HTML.
Kesalahan tingkat bidang tidak akan ditampilkan secara otomatis.
<S: Form Action = "registeraction" tema = "Sederhana"> <br/> Nama pengguna: <S: TextField name = "nama pengguna" label = "nama pengguna"> </s: TextField> <br/> Kata Sandi: <S: Kata sandi nama = "kata sandi" = "kata sandi"> </s: kata sandi> <br/> Repassword: <S: "Repass" label = "repassword"> </s: password> <br/> Umur: <s: namefield = "usia" label = "usia"> </s: textfield> <br/> ulang tahun: <s: namefield = "ulang tahun" label = "brithday"> </s: textfield> <br/> graduate: <s textfield name = "sofmed" swispleat "Sumvicle" <brfield "<br/> lulusan: <s textfield name =" savent "label" swisie "graduat value = "Kirim"> </s: Kirim> </s: form>
5. Untuk keamanan, Struts diserahkan di pos ketika tidak ada metode yang didefinisikan, yang lebih aman.
6. Jika nilai input tidak sesuai dengan metode, misalnya, usia adalah tipe int dan input adalah tipe string, sistem akan menilai dan menambahkan nilai bidang yang tidak valid untuk "usia" bidang ke tingkat bidang. Informasinya adalah sebagai berikut:
Proses eksekusi:
1) Pertama melakukan konversi tipe
2) Kemudian lakukan validasi input (jalankan metode validasi)
3) Jika ada kesalahan yang terjadi dalam proses di atas, metode eksekusi tidak akan dieksekusi lagi. Halaman akan beralih ke halaman di struts.xml yang namanya hasilnya sesuai dengan input.
8. Implementasi Metode AddactionError () Kelas ActionSupport: Pertama buat objek ArrayList, dan kemudian tambahkan pesan kesalahan ke objek ArrayList.
9. Ketika metode getActionErrors () dipanggil untuk mengembalikan daftar pesan kesalahan tingkat aksi, yang dikembalikan sebenarnya adalah salinan koleksi daripada koleksi itu sendiri. Oleh karena itu, elemen -elemen dalam salinan masih dihapus dengan memanggil metode Clear () pada salinan koleksi, daripada elemen dalam koleksi asli. Pada saat ini, konten dalam koleksi asli belum menerima dampak apa pun. Dengan kata lain, daftar pesan kesalahan tingkat aksi dapat dibaca untuk pengembang, tetapi tidak dapat ditulis
Jika Anda ingin menghapus pesan kesalahan setelah divalidasi dan diizinkan menjalankan metode Execute bahkan jika ada pesan kesalahan, Anda dapat memanggil ini.
10. Pesan kesalahan yang mendasari di tingkat FielderRor diimplementasikan melalui LinkedHashMap. Kunci peta adalah tipe string dan nilainya adalah Daftar <String> Jenis. Ini berarti bahwa nama bidang dapat sesuai dengan beberapa pesan kesalahan, dan pesan kesalahan ini ditempatkan dalam koleksi daftar <string>. Dengan demikian, ada beberapa pesan kesalahan untuk mencapai kesalahan yang sama
Di atas adalah penjelasan terperinci dari metode verifikasi yang digunakan untuk memasukkan validasi () dalam struts yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!