如何将jquery日历与jsp集成

我有一个问题,从mysql加载事件数据到jquery fullcalendar ..给出的例子是在PHP,我不知道如何做它..这是示例代码:

111,’title’=>“Event1”,’start’=>“$ year- $ month-10”,’url’=>“http://yahoo.com/”))); ?>

您需要为此创建一个Servlet 。 创建一个extends HttpServlet并在doGet()编写代码的类,它将所需的JSON字符串写入响应。 您可以使用Google Gson将Java对象转换为JSON字符串。

例如:

 // Gather data. Map map = new HashMap(); map.put("id", 111); map.put("title", "event1"); map.put("start", new SimpleDateFormat("yyyy-MM-10").format(new Date())); map.put("url", "http://yahoo.com/"); // Convert to JSON string. String json = new Gson().toJson(map); // Write JSON string. response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); 

然后只需在web.xml将此servlet映射到所需的url-pattern

您甚至可以创建Javabean类Event而不是Map

 public class Event { private Long id; private String title; private Date start; private URL url; // Add/generate getters/setters. } 

您甚至可以使用Gson转换它:

 Event event = eventDAO.find(request.getParameter("id")); String json = new Gson().toJson(event); 

通过这种方式,您可以更轻松地在List收集它们, List优先于List>

 List events = eventDAO.list(); String json = new Gson().toJson(events); 

在你的servlet中放这个脚本:

 map.put("id", 111); map.put("title", "event1"); map.put("start", new SimpleDateFormat("yyyy-MM-10").format(new Date())); map.put("url", "http://yahoo.com/"); // Convert to JSON string. String json = new Gson().toJson(map); // Put json between [] to be formatted by Fullcalendar json = "[" + json + "]"; // Write JSON string. response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); 

首先,您需要从jQuery调用servlet – 您可以使用$ .ajax()执行此操作。 然后,您需要将结果传递给日历。 以下工作正常:

 $.ajax({ url: 'app', dataType: "json", success: function(response) { $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, editable: true, events: [response] }); } }); 

问候,索林