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

Struts2 の INPUT 結果は変換エラーと検証エラーをどのように処理しますか?

DDD
DDDオリジナル
2024-12-05 00:58:19985ブラウズ

How Does Struts2's INPUT Result Handle Conversion and Validation Errors?

Struts2 INPUT 結果: エラー処理のメカニズム

Struts2 の INPUT 結果は、例外をトリガーせずに変換エラーと検証エラーを処理するためのシームレスな方法を提供します。その動作は次のとおりです。

変換エラー処理

int の代わりに String が入力されると、パラメーター インターセプターは変換を試みます。 Integer.parseInt() で NumberFormatException が発生した場合、開発モードでは例外が抑制され、アクション エラーにエラー メッセージが追加されます。運用モードでは、例外は黙って無視されます。

その後、変換エラー インターセプターが変換エラーをチェックします。識別された場合は、フィールド エラーが追加され、入力値は後続のリクエスト中にユーザーに表示されるように保存されます。

検証エラー処理

検証インターセプターXML または注釈に基づいて必要な検証を実行します。検証エラーにより、アクションにフィールド エラーが追加されます。これにより、エラーがユーザーに表示され、フォームに元の値が再入力されます。

ワークフローと入力結果

ワークフロー インターセプターはフィールド エラーを検査します。エラーが発生すると、INPUT 結果が返されます。この結果、元の入力値とエラー メッセージを保持したまま、フォームが再表示されます。

アルファベットとゼロの処理

フレームワークは、このシナリオを適切に処理します。英字が入力されると、変換インターセプターは元の値を保存します。後続の Getter は、同等の数値 (例: 「0」) ではなく、元の値 (例: 「abc」) を返します。

変換エラーのトラブルシューティング

If期待どおりに動作しない場合は、インターセプターが正しい順序であることを確認し、value 属性を確認してください。可能であれば、変換目的での使用は避けてください。代わりに、プレースホルダー値の保存など、状態を保持するために使用します。

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

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