Memahami Keputusan INPUT Struts2 dan Mengendalikan Ralat Penukaran/Pengesahan
Ralat Penukaran/Pengesahan: Tidak Menyekat Ralat
Ralat Struts2 menganggap penukaran dan masukan ralat dan bukannya menyekat ralat. Ini bermakna ia tidak menimbulkan pengecualian tetapi sebaliknya memberitahu pengguna dan meminta input yang sah.
Cara Ia Berfungsi
-
Pemintas Parameter: Percubaan untuk menetapkan parameter . Jika pengecualian masa jalan seperti NumberFormatException berlaku, ia dikendalikan atau dilog.
-
Pemintas Ralat Penukaran: Menyemak ralat penukaran dan menambah ralat medan dengan sewajarnya. Nilai asal disimpan untuk memaparkan input yang betul pada permintaan seterusnya.
-
Pemintas Pengesahan: Melaksanakan pengesahan yang diminta dan menambah ralat medan untuk medan yang tidak sah.
-
Pemintas Aliran Kerja : Menyemak ralat medan. Jika tiada, pelaksanaan diteruskan. Jika ralat ditemui, hasil INPUT dikembalikan.
Perintah Pemantas yang Betul
Untuk memastikan mekanisme berfungsi, pemintas berikut harus ada dalam Custom Susun dalam susunan yang betul:
- Parameter Pemintas
- Pemintas Ralat Penukaran
- Pemintas Pengesahan
- Pemintas Aliran Kerja
Soalan Sampingan: Abjad sebagai Sifar
Apabila abjad dimasukkan dalam medan integer, ia adalah tingkah laku lalai untuk pengambil daripada medan itu untuk mengembalikan 0 (jika int digunakan).
Pengendalian Nilai Asal
Pemintas Penukaran mendakwa untuk menyimpan nilai asal untuk permintaan seterusnya. Walau bagaimanapun, pepijat wujud apabila tingkah laku ini tidak konsisten jika atribut nilai digunakan dalam teg JSP. Pepijat ini telah dibetulkan, jadi nilai asal harus dipaparkan dengan betul dalam permintaan seterusnya.
Amalan Terbaik
- Konfigurasikan Tindanan Pemindas dengan betul.
- Semak kod , terutamanya penggunaan atribut nilai.
- Jika menggunakan atribut nilai, gunakan sintaks yang betul, cth., value = "%{myIntField}".
- Untuk ujian, pada mulanya alih keluar atribut nilai untuk mengesahkan tingkah laku dan kemudian nyahpepijat untuk mencari pepijat.
Atas ialah kandungan terperinci Bagaimanakah Struts2 Mengendalikan Ralat Penukaran dan Pengesahan serta Memastikan Input yang Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!