ホームページ >Java >&#&チュートリアル >Struts2 はフォーム処理における変換エラーと検証エラーをどのように処理しますか?

Struts2 はフォーム処理における変換エラーと検証エラーをどのように処理しますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 22:34:11598ブラウズ

How Does Struts2 Handle Conversion and Validation Errors in Form Processing?

Struts2 での入力結果の処理

INPUT 結果の変換エラーと検証エラー

Struts2 は、フォーム処理中に発生した変換エラーと検証エラーを自動的に管理します。エラーが発生した場合、例外を発生させる代わりに INPUT 結果を返します。これにより、ユーザーはアプリケーション フローを中断することなく入力エラーを修正できます。

変換エラー

パラメータ インターセプタは、フォーム パラメータの適切なデータ型 (例: String) への変換を処理します。整数に変換します)。変換が失敗した場合、ActionContext の変換エラー マップにフィールド エラーが追加されます。

検証エラー

検証インターセプターは、アクションに定義された検証ルールを実行します。いずれかの検証基準が失敗した場合、フィールド エラーが ActionContext の fieldErrors マップに追加されます。

エラー処理のワークフロー

変換と検証の後、ワークフロー インターセプターはフィールド エラーの存在を確認します。エラーが見つかった場合は、INPUT 結果を返します。この結果には、エラー メッセージとユーザーが送信した元の値が自動的に含まれるため、ユーザーはエラーを確認して入力を修正できます。

構成

自動エラー処理を有効にするには、次のインターセプターがカスタム スタックに正しい順序で含まれています:

  • Paramsインターセプター
  • ConversionError インターセプター
  • 検証インターセプター
  • ワークフロー インターセプター

数値がゼロとして表示される理由

ユーザーが入力した場合として定義されているフォームフィールドにアルファベット文字を入力します。整数の場合、フレームワークは値を取得するときにゼロを返します。これは、Getter メソッドが String を int フィールドに設定できないため、整数のデフォルト値 (0) を返すために発生します。

例外処理

Struts2 は、変換または検証エラーは入力エラーとみなされます。代わりに、INPUT 結果を返し、ユーザーが対処できるようにフィールド エラー マップにエラー メッセージを追加します。

以上がStruts2 はフォーム処理における変換エラーと検証エラーをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。