ホームページ > Java > &#&チュートリアル > Struts2 はどのように入力エラーを処理し、INPUT 結果を返すのでしょうか?

Struts2 はどのように入力エラーを処理し、INPUT 結果を返すのでしょうか?

Mary-Kate Olsen
リリース: 2024-12-01 12:52:10
オリジナル
240 人が閲覧しました

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

Struts2 では入力結果はどのように機能しますか?

Struts2 の INPUT 結果は、ワークフロー インターセプターが次のいずれかのフィールド エラーを検出したときにトリガーされます。変換または検証エラー。これらのエラーは例外を発生させるのではなく入力エラーとみなされ、ユーザー入力の修正を要求するために INPUT 結果が返されます。

変換/検証エラーの処理

Struts2 のエラー処理メカニズムにはいくつかのキーが含まれますステップ:

  1. パラメータ インターセプタ: パラメータの設定を試みます。変換中にランタイム例外 (例: NumberFormatException) が発生した場合、その例外は通知なしで取り込まれるか、開発者通知とともにログに記録されます。
  2. 変換エラー インターセプター: 変換エラーを識別し、フィールド エラーを ActionContext に追加します。 。また、フィールドに検証エラーが含まれている場合に、元の値がユーザーに表示されるように、元の値も保存します。
  3. Validation Interceptor: XML、注釈、またはアクション メソッドに基づいて検証を実行します。検証が失敗した場合、準拠していない各フィールドの ActionContext にフィールド エラーが追加されます。
  4. ワークフロー インターセプター: 変換と検証の両方からフィールド エラーをチェックします。エラーが存在する場合は、INPUT 結果が返されます。それ以外の場合は、次のインターセプターに進みます。

このメカニズムを有効にするには、次のインターセプターが正しい順序で定義されていることを確認してください:

<interceptor-ref name="params"/>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation"/>
<interceptor-ref name="workflow"/>
ログイン後にコピー

追加メモon Integer Conversion

数値以外の文字の変換を処理するにはゼロの場合は、value 属性を int データ型を返すゲッターと組み合わせて使用​​することは避けてください。これにより、追加の変換エラーが発生し、値が 0 になる可能性があります。代わりに、次の構文を使用してください:

<s:textfield name="myIntField"/>
ログイン後にコピー

Or

<s:textfield name="myIntField" value="%{myIntField}"/>
ログイン後にコピー

以上がStruts2 はどのように入力エラーを処理し、INPUT 結果を返すのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート