Spring 3 controller json formatを使用してデータを返す
タイトルという議題を実現するには、まず2つのパッケージを追加する必要があります.
次にspringがannotationをサポートすることを保証します.ここでは構成を書かないでください.
コントロールを見て
@ResponseBody注記は、このcontrollerをtextテキスト形式で返すことを要求します.ここではMapタイプをバインドし、実際にはjsonオブジェクトを返します.フォーマットはmapがjsonを回転するフォーマットです.これによりajax呼び出し時にコールバック関数をこのように持つことができます.
このcontentTypeはバックグラウンドcontrollerにバインドされたMapのkeyと一致しなければならないので、説明する必要はありません.
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.5.6</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.5.6</version>
</dependency>
次にspringがannotationをサポートすることを保証します.ここでは構成を書かないでください.
コントロールを見て
@RequestMapping(value="/content-type/{prodId}")
@ResponseBody
public Map<String,List<ContentType>> listContentTypeByProdJSONFormat(HttpServletRequest request,@PathVariable("prodId") int prodId)
{
List<ContentType> contentTypeList = contentTypeService.listContentTypeByProduct(prodId);
Map<String,List<ContentType>> contentTypes = new HashMap<String,List<ContentType>>();
contentTypes.put("contentTypes", contentTypeList);
return contentTypes;
}
@ResponseBody注記は、このcontrollerをtextテキスト形式で返すことを要求します.ここではMapタイプをバインドし、実際にはjsonオブジェクトを返します.フォーマットはmapがjsonを回転するフォーマットです.これによりajax呼び出し時にコールバック関数をこのように持つことができます.
success:function(data)
{
var typeList = data.contentTypes;
var length = typeList.length;
....
....
....
});
このcontentTypeはバックグラウンドcontrollerにバインドされたMapのkeyと一致しなければならないので、説明する必要はありません.