Spring Form タグ ライブラリを Ajax と組み合わせて使用できますか? コントローラー内のフォーム入力パラメーターを取得できません。それらは常にnullです。
実際には、フォームが送信されないというロジックがあります。しかし、Spring commandBeanにマップされるフォーム送信で発生するように、オブジェクトではなく、文字列のみをコントローラーに送信できます。
commandBeanを受け入れるフォーム
<form:form method="POST" commandName="clinicBean">
Clinic Name: <form:input path="name" type="text" /><br/>
Clinic Address: <form:input path="address" type="text"/><br/>
<input type="button" value="Create Clinic" onclick="clinicAjax()"/>
</form:form>
Spring コントローラーを呼び出す Ajax 関数
function clinicAjax(){
alert('Inside Clinic Ajax Method');
$.ajax({
url: 'clinicAjax',
type: 'POST',
success: alert('Ajax Successful')
});
}
スプリング コントローラーの方法:
@RequestMapping(value="clinicAjax",method=RequestMethod.POST)
public @ResponseBody String createClinic(@ModelAttribute("clinicBean") Clinic clinic){
System.out.println("Ajax call successful");
System.out.println(clinic);
System.out.println(clinic.getName());
System.out.println(clinic.getAddress());
return "SUCCESS";
}
System.out.println() ステートメントでは常にnullになります。