Первое, что вам нужно сделать, это сделать вызов AJAX и вернуть ответ JSON вместо модели.
Создайте класс pojo, который состоит из всех полей для события для сопоставления JSON, как показано ниже.
public class Event{
private Long id;
private String title;
private Date start;
private Date end;
//getters setters and other required fields
}
Затем метод контроллера, как показано ниже.
@RequestMapping(value = "/", method = RequestMethod.GET,produces="application/json")
@ResponseBody
public ResponseEntity<String> getPlanificado()
{
List<Event> events = eventsService.listAll();
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json; charset=utf-8");
if (calendarEvents.size() > 0)
{
return new ResponseEntity<String>(new JSONSerializer().include("id","title","end","start").exclude("*").serialize(calendarEvents), headers, HttpStatus.OK);
}
return new ResponseEntity<String>(null, headers, HttpStatus.OK);
}
Затем вызовите метод выше, как показано ниже, вызов AJAX.
$.ajax({
url: '/',
headers:{
'Accept' : 'application/json',
'Content-Type': 'application/json'
},
success: function(result){
if(result!== null){
var len = result.length;
if(len > 0){
var jsonString = JSON.stringify(result);
console.log(jsonString);
for(var i=0; i<len; i++){
console.log(result[i]);
var title=result[i].title;
var start=result[i].start;
var startDate = new Date(start);
console.log("startDate :"+startDate);
var end=result[i].end;
var endDate = new Date(end);
console.log("endDate :"+endDate);
var event={ title:classname, start:startDate, end:endDate};
$('#calendar').fullCalendar( 'renderEvent', event, true);
}
}
}else{
console.log("NO events");
}
},error: function (result) {
console.log("AJAX error");
}
});
ПРИМЕЧАНИЕ. Я использовал flexjson конвертировать объект Java в сериализацию JSON.