3

フォームが送信されたときにいくつかの @RequestParam 引数が呼び出されるリクエスト ハンドラ (@Controller クラスのメソッド) があります。文字列、int、enum、オブジェクトなど、さまざまなタイプの引数があります...フォームが送信されたときに、Spring がパラメーターを引数にバインドできない場合、エラー 400 または 500 で応答を返します (どのケースがそれぞれに対応するのかわかりませんまだエラー)。この不一致を処理するには、ユーザーにフィードバックを送信して、フォームのどのフィールドが不適切で、その理由を強調することをお勧めします...

これを行う簡単なケースの 1 つは、すべての @RequestParams を文字列に変更し、ハンドラー内で変換を行い、エラーがあればフィードバックで応答することです。(エラーは、型の不一致から無効なパラメーター (年齢の負の数) までさまざまです)。

もっと良い方法はありますか?

4

1 に答える 1

3

@RequestParamパラメータがユーザーによって入力されるのではなく、アプリケーションによって生成される状況に最も適しています。

ユーザーにフィードバックを提供したい場合は、とで従来のフォーム処理アプローチを使用することをお勧めし@ModelAttributeますBindingResult。このようにして、任意の検証を実行し、タイプの不一致エラーに対して意味のあるエラーメッセージを提供することもできます。

于 2012-12-07T10:46:46.273 に答える