1. Metode Validasi () dalam tindakan
Struts2 menyediakan antarmuka yang dapat divalidasi, yang hanya memiliki metode validasi () dalam antarmuka ini. Kelas yang mengimplementasikan antarmuka ini dapat dipanggil secara langsung oleh Struts2. Kelas Actionsupport mengimplementasikan antarmuka yang dapat dibatalkan, tetapi metode validasi () adalah metode kosong, yang perlu kita tulis ulang.
Metode Validate () akan dieksekusi sebelum eksekusi metode Execute (). Metode Execute () hanya akan dieksekusi jika verifikasi data benar. Jika kesalahan dibuat, kesalahan akan ditambahkan ke bidang FielderRors. Jika ada beberapa metode pemrosesan logis dalam tindakan yang ditentukan, dan logika pemrosesan yang berbeda memerlukan aturan verifikasi yang berbeda, dalam hal ini validasi () akan menggunakan aturan verifikasi yang sama untuk semua logika pemrosesan. Untuk mengimplementasikan berbagai logika verifikasi, perlu untuk lulus metode validatex (), di mana x mewakili nama metode logika pemrosesan.
Kelas Aksi:
Loginaksi kelas publik memperluas ActionSupport {private static final long serialVersionuid = 1l; private string username; private string userpassword; public string execute () {System.out.println ("Execute"); return Success;} public String Login () {System.out.println ("LOGIN"); return Success; validate () {System.out.println ("validata");} public void validatelogin () {System.out.println ("validatelogin"); if (! (Username.equals ("sbw") && userpassword.equals ("123")) {"sbw") && userpassword.equals ("123"))) {addfielder ") (" DRORE "(" ERRORE "(" 123 ")) {" SBW ") && UserPassword.Equals (" 123 ")) {{{{{{{{{{") getUserName () {return username;} public void setusername (string username) {this.userName = username;} public string getUserPassword () {return userpassword;} public void setUserPassword (string userpassword) {this.userpassword; uSerPassword;}}}}}}} {this.userpassword;}}}}} {this.userpassword;struts.xml
<nama paket = "utama" extends = "struts-default"> <global-results> <result name = "login">/login.jsp </hasilnya> </global-results> <action name = "loginperson" Metode = "PUCANT" </POULDING "/POCUCING//SUCCESS">/SUCCESS.jsp </name Hasil =/</quin./</pakanes/</quesput//quesput//ucapan/<jps.
Success.jsp
<body> Login berhasil <s: nilai properti = "akun"/> </body>
validatelogin.jsp
<tody> <s: fielderror/> </body>
Hasil menjalankan (tes pertama benar, tes kedua salah)
2. Lulus Kerangka Verifikasi XWork
Saat menggunakan metode validasi untuk memverifikasi, jika ada sejumlah besar tindakan dalam aplikasi web, metode validasi perlu ditulis ulang beberapa kali. Oleh karena itu, Anda dapat menggunakan kerangka kerja validator XWork untuk memverifikasi data Struts2 untuk mengurangi jumlah kode.
Buat file verifikasi loginaksi-validasi.xml di bawah paket com.action. CATATAN: Ketika ada beberapa metode pemrosesan bisnis dalam suatu tindakan, aturan penamaan adalah: ActionName-Methodname-Validation.xml, di mana ActionName adalah nama kelas tindakan, MethodName adalah nama metode dari metode pemrosesan bisnis dalam tindakan, dan urutan pencarian file tersebut sama dengan validasi () dan Validatex ().
Login-validasi.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <! Validator Doctype Publik "-// Apache Struts // Xwork Validator 1.0.2 // en" "http://struts.apache.org/dtds/xwork-validator-"- "-valname <"-valname <"- validory <"- validator-validator-validator <" type = "wajib"> <pesage> Nama tidak boleh null </pesage> </field-validator> </field> <field name = "userpassword"> <field-validator type = "wajib"> <pesage> Kata sandi tidak boleh null </pesage> </field-validator> </field> </validator>
Jalankan lagi sebagai berikut:
Metode verifikasi bidang di atas adalah metode verifikasi lapangan, dan metode lain adalah metode verifikasi non-lapangan, sebagai berikut:
Login-validasi.xml:
<validators> <validator type = "wajib diperkuat"> <param name = "fieldname"> nama pengguna </param> <pesage> nama tidak boleh null </pesage> </valvalator> <validator type = "wajib dibutuhkan"> <param name = "fieldname"> UserPassword </param> <pesage> Kata sandi tidak boleh nol </pesan> </fieldname "> Validator> </param> <pesage> tidak boleh null </pesan> </fieldname>
Hasilnya sama dengan metode verifikasi bidang
Lampiran: Verifikasi yang biasa digunakan untuk struts2: