1

我试图让 Spring 3.2 MVC 返回没有默认标签的 JSON 响应。

例如,

@Controller
@RequestMapping("/dt")
public class DTAgentsController {

@ModelAttribute
@RequestMapping(method = RequestMethod.GET, produces = "application/json;UTF-8")
    public DTResponse agents() {
        DTResponse resp = new DTResponse();
        resp.setsEcho(1);
        resp.setiTotalDisplayRecords(10);
        resp.setiTotalRecords(50);
        return resp;
    }
}

返回

{"DTResponse":{"sEcho":1,"iTotalRecords":50,"iTotalDisplayRecords":10}}

我只希望 JSON 输出是

{"sEcho":1,"iTotalRecords":50,"iTotalDisplayRecords":10}

谢谢。

4

1 回答 1

0

问题不在于@ModelAttribute,它只是意味着您想要存储或从模型中获取什么数据。您似乎使用 jQuery 数据表,因此您应该添加@ResponseBody到方法agents()中。

@RequestMapping(method = RequestMethod.GET)
@ResponseBody
    public DTResponse agents() {
        DTResponse resp = new DTResponse();
        resp.setsEcho(1);
        resp.setiTotalDisplayRecords(10);
        resp.setiTotalRecords(50);
        return resp;
    }
}
于 2013-03-16T08:24:50.997 回答