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 访问错误,例如 result.hasErrors()、result.getErrors() 等。

显然,在幕后有很多“魔法”,但如果您只是在方法签名中“询问”它,Spring MVC 将几乎总是为您提供您所需要的东西。

希望有帮助。

于 2012-05-15T20:37:44.270 回答