Rumah > Java > javaTutorial > Bagaimanakah Struts2 Mengendalikan Ralat Input dan Mengembalikan Keputusan INPUT?

Bagaimanakah Struts2 Mengendalikan Ralat Input dan Mengembalikan Keputusan INPUT?

Mary-Kate Olsen
Lepaskan: 2024-12-01 12:52:10
asal
241 orang telah melayarinya

How Does Struts2 Handle Input Errors and Return an INPUT Result?

Bagaimanakah Input Result Berfungsi dalam Struts2?

Hasil INPUT Struts2 dicetuskan apabila pemintas aliran kerja mengesan ralat medan, sama ada daripada ralat penukaran atau pengesahan. Daripada menimbulkan pengecualian, ralat ini dianggap ralat input, jadi hasil INPUT dikembalikan untuk meminta pembetulan input pengguna.

Mengendalikan Ralat Penukaran / Pengesahan

Struts2's mekanisme pengendalian ralat melibatkan beberapa kunci langkah:

  1. Pemintas Parameter: Percubaan untuk menetapkan parameter. Jika pengecualian masa jalan berlaku semasa penukaran (cth., NumberFormatException), ia ditelan secara senyap atau dilog dengan pemberitahuan pembangun.
  2. Pemintas Ralat Penukaran: Mengenal pasti sebarang ralat penukaran dan menambahkan ralat medan pada ActionContext . Ia juga menyimpan nilai asal untuk memastikan ia dipaparkan kepada pengguna jika medan mengandungi ralat pengesahan.
  3. Pemintas Pengesahan: Melakukan pengesahan berdasarkan XML, anotasi atau kaedah tindakan. Jika pengesahan gagal, ia menambahkan ralat medan pada ActionContext untuk setiap medan yang tidak mematuhi.
  4. Pemintas Aliran Kerja: Menyemak ralat medan daripada kedua-dua penukaran dan pengesahan. Jika ralat wujud, ia mengembalikan hasil INPUT; jika tidak, ia diteruskan dengan pemintas seterusnya.

Untuk mendayakan mekanisme ini, pastikan pemintas berikut ditakrifkan dalam susunan yang betul:

<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation"/>
<interceptor-ref name="workflow"/>
Salin selepas log masuk

Nota Tambahan pada Penukaran Integer

Untuk mengendalikan penukaran aksara bukan angka kepada sifar, elakkan menggunakan atribut nilai bersama-sama dengan pengambil yang mengembalikan jenis data int. Ini boleh menyebabkan ralat penukaran tambahan dan menghasilkan nilai 0. Sebaliknya, gunakan sintaks berikut:

<s:textfield name="myIntField"/>
Salin selepas log masuk

Atau

<s:textfield name="myIntField" value="%{myIntField}"/>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Struts2 Mengendalikan Ralat Input dan Mengembalikan Keputusan INPUT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan