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 的全日历加载事件的主要内容,如果未能解决你的问题,请参考以下文章

Android - 来自 Google 日历的事件输出列表

在Vue FullCalendar SFC中拖动外部事件

来自Google日历的即将发生的事件在python中

如何在 kal 日历中进行更改以显示来自 json webservice 的事件

通过将日期与日历日期进行比较来加载即将发生的事件

当事件来自 Microsoft Graph 上的邀请时,日历事件的类别数组为空