0

次のように定義されたコントローラー内でSpring 3 RequestMappingを使用しています:

@RequestMapping(value = "/myServlet" , method = RequestMethod.GET)
      public @ResponseBody String performAction() {
        return "success";
      }

Spring 2 メソッド パラメーターを使用するメソッドを実装しようとしています。SimpleFormController が拡張され、onSubmitAction がオーバーライドされ、onSubmitAction パラメーターを使用するメソッドが呼び出されています。

    protected void onSubmitAction(ActionRequest request,
                                  ActionResponse response,
                                  Object command,
                                  BindException errors)
{
methodCall(request,response,command,errors);
}

Spring 3 アノテーション @RequestMapping を使用してこれらのパラメーター (リクエスト、レスポンス、コマンド、エラー) にアクセスすることは可能ですか? または、コントローラーを別の方法で実装する必要がありますか?

4

1 に答える 1

0

Spring MVC は、リクエスト データをコントローラー メソッド パラメーターにバインドすることに関して非常にインテリジェントです。

例として、あなたの質問に答えるかもしれない私自身のコードの例を次に示します。

@RequestMapping(value = "/my-account/email", method = RequestMethod.PUT)
public ModelAndView updateEmail(EditEmailForm editEmailForm, BindingResult result) {
    // ...
}

ここで、Spring MVC はリクエスト パラメーターを「コマンド」オブジェクト (editEmailForm) にインテリジェントにバインドし、バインド/検証結果を結果にバインドします。エラーには、result.hasErrors()、result.getErrors() などの結果からアクセスできます。

明らかに、舞台裏で行われている「魔法」がたくさんありますが、Spring MVC は、メソッド シグネチャで「要求」するだけで、ほぼ常に必要なものを正確に提供します。

それが役立つことを願っています。

于 2012-05-15T20:37:44.270 に答える