0

我是春天的新手。我正在创建一个简单的登录页面。但是没有调用 processFormSubmission()。但是 showForm() 正在工作。

public class LoginController extends SimpleFormController

{
    private LoginService loginService;

private String loginView;

public LoginService getLoginService() {
    return loginService;
}

public void setLoginService(LoginService loginService) {
    this.loginService = loginService;
}

public String getLoginView() {
    return loginView;
}

public void setLoginView(String loginView) {
    this.loginView = loginView;
}

public LoginController() {
    setBindOnNewForm(true);
}
@Override
protected ModelAndView processFormSubmission(HttpServletRequest request,
        HttpServletResponse response, Object command, BindException errors)
        throws Exception 
{
    TraceUser tr = (TraceUser) command;
    System.out.println(tr);
    //loginService.
    return super.processFormSubmission(request, response, command, errors);
}
@Override
protected ModelAndView showForm(HttpServletRequest request,
        HttpServletResponse response, BindException errors)
        throws Exception {
    ModelAndView mav = new ModelAndView();
    mav.addObject("traceUser", new TraceUser());
    mav.setViewName(getLoginView());
    return mav;
}

}

请帮助我了解如何进一步处理 ModelAndView 对象。

4

1 回答 1

1

首先,ControllerAPI 的使用已被搁置,取而代之的是新的基于注解的控制器(参见@RequestMapping注解),并且类似的类SimpleFormController已经被弃用了很长一段时间。

但是,为了回答您的问题,我假设您的表单没有声明method="post",并且默认情况下,SFC 只会将 POST 请求视为表单提交(请参阅参考资料isFormSubmission()中的方法AbstractFormController)。是这样吗?

于 2012-08-21T06:41:49.017 回答