私がしたいこと:
- ユーザーは、ユーザーの検索、新規ユーザーの登録など、実行するアクションの選択肢のリストを求められます。私の考えでは、ユーザーが選択肢の 1 つをクリックして選択すると、JQuery を使用して AJAX 呼び出しがトリガーされ、メソッドが実行されて JSONResponse が返されます。
JSONResponse は、次のように、文字列としての状態とオブジェクトとしての結果の 2 つの変数を持つ単純なオブジェクトです。
public class JSONResponse {
private String status = null;
private Object result = null;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Object getResult() {
return result;
}
public void setResult(Object result) {
this.result = result;
}
}
ただし、この応答に ModelAndView を返したい場合があります。たとえば、ユーザーがユーザーを検索すると、アプリケーションはそのユーザーを検索し、可能なユーザーのリストを含む ModelAndView を返します。これを実現する 1 つの方法は、ModelAndView を String としてレンダリングし、結果として JSONResponse オブジェクトに入れることです。問題は、ModelAndView を String としてレンダリングして JSONReponse に入れるにはどうすればよいかということです。
PS: Tomcat 7、JDK 6、Spring MVC 3.0 と Tiles 2、Jackson (Java オブジェクトを JSON に変換するため) を使用しています。