Java 中来自 DB 的全日历加载事件
Posted
技术标签:
【中文标题】Java 中来自 DB 的全日历加载事件【英文标题】:Fullcalendar load events from DB in Java 【发布时间】:2016-02-05 04:30:41 【问题描述】:我正在关注本教程 https://mohittare.wordpress.com/2013/07/28/using-fullcalendarwithjava/ 在 FullCalendar 中显示事件,我收到消息:
GET http://localhost:8080/CalendarJsonServlet?start=1445814000&end=1449442800&_=1446654395750 404 (Not Found)
我应该在 events: 中添加什么?哪条路?或如何找到它?这是我的 .jsp 文件中的代码:
<script type="text/javascript">
$.getScript('http://arshaw.com/js/fullcalendar-1.6.4/fullcalendar/fullcalendar.min.js',function()
$('#calendar').fullCalendar(
firstDay: 1,
header:
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
,
editable: true,
events: "/CalendarJsonServlet"
);
)
<div class="container">
<hr>
<div id="calendar"></div>
这是我的 CalendarJsonServlet.java 类:
package com.wirecardproject.project;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
public class CalendarJsonServlet
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
List l = new ArrayList();
CalendarDTO c = new CalendarDTO();
c.setId(1);
c.setStart("2015-11-28");
c.setEnd("2015-11-29");
c.setTitle("Task in Progress");
CalendarDTO d = new CalendarDTO();
c.setId(2);
c.setStart("2013-07-26");
c.setEnd("2013-08-28");
c.setTitle("Task in Progress");
l.add(c);
l.add(d);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.write(new Gson().toJson(l));
和 CalendarDTO.java:
package com.wirecardproject.project;
public class CalendarDTO
public int id;
public String title;
public String start;
public String end;
public String color;
public String getColor()
return color;
public void setColor(String color)
this.color = color;
public int getId()
return id;
public void setId(int id)
this.id = id;
public String getTitle()
return title;
public void setTitle(String title)
this.title = title;
public String getStart()
return start;
public void setStart(String start)
this.start = start;
public String getEnd()
return end;
public void setEnd(String end)
this.end = end;
知道有什么问题吗?
【问题讨论】:
贴出相关的java代码,完成stacktrace并说明问题所在。鉴于您使用 Java 标记问题,我看不到任何 Java 代码或堆栈跟踪。 该代码是 JavaScript。 CalendarProject/CalendarJsonServlet 是 fullCalendar.js 文件中 .js 的一部分。您的 Java 调用将使用它来帮助在日历中构建您的事件。 Lenusska,你在哪里包含了 Jquery? 我的 .jsp 文件中有 Jquery,如下所示: 【参考方案1】:改变
CalendarDTO d = new CalendarDTO();
c.setId(2);
c.setStart("2013-07-26");
c.setEnd("2013-08-28");
c.setTitle("Task in Progress");
到
CalendarDTO d = new CalendarDTO();
d.setId(2);
d.setStart("2013-07-26");
d.setEnd("2013-08-28");
d.setTitle("Task in Progress");
第二个对象是D而不是C
【讨论】:
【参考方案2】:对我有用的解决方案之一是在 CalendarJsonServlet
创建方法 doGet()
和 doPost()
。在doGet()
中调用doPost(request,response)
并将您的代码/逻辑放入doPost()
。
【讨论】:
以上是关于Java 中来自 DB 的全日历加载事件的主要内容,如果未能解决你的问题,请参考以下文章