このように動作するはずです。入力フィールドには、コントローラ内のコマンドオブジェクトに入力した値があらかじめ入力されている必要があります。その結果、jspページがレンダリングされます(つまり、xmlns:form = "http://www.springframework.org/tags/form" 。
モデルにデータを入力していない可能性があります。
@RequestMapping(value = "/xxx", params = "form", method = RequestMethod.GET)
public ModelAndView updateForm() {
...
StudentBean studentBean = new StudentBean();
studentBean.setFName("Ralph");
return new ModelAndView("updateForm", "studentBean", studendBean);
}
@RequestMapping(value = "/xxx", method = RequestMethod.POST)
public ModelAndView update(@Valid StudentBean studentBean,
final BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return new ModelAndView("updateForm", "studentBean", studendBean);
} else {
...
return new ModelAndView(new RedirectView("/finished", true));
}
}
だから、最後にあなたは二つの方法、フォーム/コマンド/豆初期に移入するために1、およびユーザの入力を処理するための第二を必要としています。
BTW:「Bean」という用語は、フォームを作成して要求を含むオブジェクトの種類には非常に珍しいです。 (JSFでは、(Managed)Beanと呼ばれていますが、JSPを使用しています(これはコマンドベースであり、コンポーネントベースのJSFに匹敵しません)、Spring管理オブジェクトではないのでSpring Beanでもありません。私は個人的には、そのようなオブジェクトのための "コマンド"という言葉を使用します(スプリング参照への適合:15.3.2.3 Supported handler method arguments and return types "パラメータをバインドするコマンドまたはフォームオブジェクト:...")