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 に答える