我不知道如何从JSON中获取数据到我的Fullcalendar Jquery函数我已经阅读了文档,但他们显示的唯一示例对我来说并不清楚
这是我的代码
<script>
$(document).ready(function() {
$('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek'
},
editable: true,
events: 'jsone.action'
});
});
,在我的操作中,我只返回3个值用于测试
@ParentPackage("json-default")
@Action(value = "jsone", results = {
@Result(type = "json", name = "success"),})
public String title;
public String start;
public String end;
public String execute() {
title="Event";
start="2014-01-12T10:30:00-05:00";
end="2014-01-12T12:30:00-05:00";
System.out.println("execute");
return SUCCESS;
}
//setters getters
当我调用"jsone"操作时,我得到这个所以我认为这是正确的格式,即使我加载日历时,我也没有得到任何错误消息,jsone操作工作并正确执行
{"end":"2014-01-12T12:30:00-05:00","start":"2014-01-12T10:30:00-05:00","title":"event"}
注意我和一个有同样问题的人一起读过这篇文章https://stackoverflow.com/questions/17459184/implementing-fullcalendar-with-struts-2
现在我知道如何正确获取数据,所以我想发布解决方案。对于这个例子,我将只使用一个事件。
第一个动作(使用注释)
@ParentPackage("json-default")
@Action(value = "jsone", results = {
@Result(type = "json", name = "success"),})
现在在动作(java类)中
public String title;
public String start;
public String end;
public String execute() {
title="Event";
start="2014-06-12T10:30:00-05:00";
end="2014-06-12T12:30:00-05:00";
return SUCCESS;
}
//GETTERS SETTERS
这就是您的事件在JSP中的样子
events: function(start, end, timezone, callback) {
$.ajax({
url: 'jsone.action',
dataType: 'json',
data: {
start: start.unix(),
end: end.unix()
},
success: function(doc) {
var events = [];
events.push({
title: doc.title,
start: doc.start,
end: doc.end
});
callback(events);
}
});
}
现在. .START
和END
参数仅用于返回一定数量的事件,而不是整个事件列表,CALLBACK
参数用于返回事件数组,然后在成功的function(doc)
中,doc
参数是从动作中获取的事件,因此您可以轻松访问您的动作属性(在我的动作示例中,我使用了"标题","开始"one_answers"结束"名称,但您可以使用任何不同的名称),您知道您正在使用的完整日历版本也很重要,因为新的BETA版本(2.x)使用时刻而不是通常的数据1。X版本使用。现在你必须使用这个格式
start="2014-06-12T10:30:00-05:00";
end="2014-06-12T12:30:00-05:00";
重要:这个例子使用了"Struts2 JSON-Plugin",所以需要@ParentPackage("json-default")来使用这个插件,你可以在maven
中使用它。<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.3.16.3</version>
</dependency>