2011-08-25 41 views
1

我希望能夠做的是編寫一個方法,它將返回一個對象,將該方法映射到請求,並根據url更改對象的格式。因此,如果我有一個返回/clients的Client對象數組,我希望默認情況下將該對象解析爲速度模板(clients.vm)以處理格式。但是,如果url爲/clients.json,那麼比我想要將對象傳遞迴響應主體,並讓消息轉換器找出如何處理它。根據請求url自動選擇viewResolver?

所以,我的問題是,我如何配置Spring,以及如何編寫控制器?

THX

回答

1

使用在你的處理方法一個PathVariable,用它來切換該視圖中使用:

@RequestMapping("/myapp/{viewtype}/view.do") 
public String myHandler(
     @PathVariable String viewtype, 
     Model model) { 
    // do stuff 
    return "viewname." + viewtype; 
} 

查看類型可以是vm,或jsp,或什麼的。如果返回類型僅改爲@ResponseBody,並且類路徑中有Jackson JAR,它也可以返回JSON。