2

就像用户单击一个链接,在 Spring 控制器类中,一个方法将使用一个对象和一个视图名称来响应请求JSON(意思是,它不仅应该返回一个 JSON 对象,还应该返回一个包含该 JSON 对象的 HTTP 视图,所以@ResponseBody可能还不够)?我们是否必须将其拆分为两种方法(一种用于视图,另一种用于 JSON 对象)?任何想法将不胜感激。

通常我们有

@RequestMapping(value="/someValue")
public @ResponseBody someMethod1(@RequestParam String param){
    .....
    return someJSONObject
}

处理 JSON 对象,以及

@RequestMapping(value="/someValue")
public String someMethod2(@RequestParam String param){
    .....
    return someViewInString;
}

返回视图。

我们如何将它们结合在一起?

4

1 回答 1

2

您应该返回带有 JSON 占位符的视图。

在控制器代码中,以编程方式创建 JSON,将其转换为 String 格式,然后将其放入模型中(我们称之为 json_string)

在视图中应该有一个 JSON 字符串的占位符,例如:

<!-- other view stuff -->
var v = ${json_string};
<!-- more view stuff -->
于 2013-04-11T19:02:26.470 回答