...
есть вот такое, но я не смог попробовать по той же причине.)
Поэтому просто зафигачим VOID и запишем что надо в response руками! Делать говно так с душой!
Параметры копипасты:
RequestDao, ResponseDao — произвольные объекты для сериализации в JSON с помощью Jackson.
Оба имеют стринговое поле example с геттерами и сеттерами, которое мы будем посылать на сервер и получать назад.
Внутри используется еще и Gson для того, чтобы избежать clash с системными реализациями Jackson.
@RequestMapping(
value = «myurl»,
method = {RequestMethod.GET}
)
@ResponseBody
@JsonRawValue
public void jsonp(@ModelAttribute RequestDao dao,
@RequestParam("callback") String callBack,
@Context HttpServletRequest request,
@Context HttpServletResponse response)
throws Exception {
ResponseDao respDao = new ResponseDao();
respDao.setExample(requestDao.getExample());
String jsonResponse = new Gson().toJson(respDao);
response.setContentType("text/javascript; charset=UTF‑8");
PrintWriter out = response.getWriter();
out.print(callBack + «(» + jsonResponse + ")");
}
И соответственно вызывающий код на Javascript+jQuery:
JSONP test