В настоящее время я использую datatable в портлете liferay, и мне нужно сделать ajax-вызов и вернуть Json.Return json view content without liferay theme
Так что в моем контроллере я писал:
@RenderMapping(params = "action=doAjaxSearch")
public String ajaxSearch(RenderRequest request, RenderResponse response, @RequestParam int iDisplayStart,
@RequestParam int iDisplayLength, @RequestParam String sEcho, Model model) {
model.addAttribute("sEcho", sEcho);
model.addAttribute("count", 20);
return AJAX_RESULT;
}
Где AJAX_RESULT это имя мнение, используются для создания моего JSon:
{<% префикс @ TagLib = "весна" URI = "HTTP : //www.springframework.org/tags " %> <% @ TagLib префикс = "C"= URI "http://java.sun.com/jsp/jstl/core" %>
" sEcho ":," iTotalRecords ": $ {число}, "iTotalDisplayRecords": $ {COUNT}, "aaData": []}
Все работает отлично, но ответ возвращается содержит JSon + LifeRay тему. Я хотел бы просто загрузить содержимое jsp.
Заранее благодарим вас за помощь.
Вы должны использовать ResourceMapping вместо RenderMapping. И напишите свой json-контент в aResourceResponse.getWriter(). Write (JSON) –
Привет, Pankaj, я не хочу использовать ResourceMapping, потому что мой json содержит много дополнительного кода (html), поэтому я предпочитаю использовать файл jsp вместо того, чтобы писать все код в java-части. –