2011-08-25 60 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。