找了半天的资料,都是php的,在自己的项目中做了一个java ajax加载后台日程的jquery,核心代码如下:
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var calendar = $(‘#calendar’).fullCalendar({
header: {
left: ‘prev,next today’,
center: ‘title’,
right: ‘month’
},
selectable: true,
//selectHelper: true,
select: function(start, end, allDay) {
//选中某一日期触发事件
start = $.fullCalendar.formatDate(start,”yyyy-MM-dd”);
$(“#actionTime”,window.opener.document).val(start);
findFilm(‘t’);
$(“#ticketMenuDiv”).show();
$(“#returnButt”).show();
$(“#timeList”).hide();
},
//点击日程触发事件
eventClick: function(calEvent, $event){
date = $.fullCalendar.formatDate(calEvent.start,”yyyy-MM-dd”);
$(“#actionTime”,window.opener.document).val(date);
findFilm(‘t’);
$(“#ticketMenuDiv”).show();
$(“#returnButt”).show();
$(“#timeList”).hide();
},
events: function() {
$(“#calendar”).fullCalendar(‘removeEvents’); //清空上次加载的日程
$.ajax({
type: “POST”,
data: “m=queryfilmname”,
url: “/seatMap”,
success: function (data){
//请求成功,返回byte数组
var menus = data.split(“”);
var area = menus[1].split(“<=>”);
for(var i = 1; i < area.length; i++){
var nextDate = area[i].split(“”)[0];
//日期转化成date类型
var myDate= new Date(Date.parse(nextDate.replace(/-/g, “/”)));
var obj = new Object();
obj.title = area[i].split(“”)[1];
obj.start = myDate;
$(“#calendar”).fullCalendar(‘renderEvent’,obj,true);//把从后台取出的数据进行封装以后在页面上以fullCalendar的方式进行显示
}
},
error:function (){
alert(“服务器异常,请联系管理员!”);
}
});
}
});
//后台servlet方法
private void queryfilmname(HttpServletRequest req, HttpServletResponse resp,
SeatMapService service) throws Exception {
Map map = new HashMap();
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);
map.put(“FLIGHT_TIME”, sdf.format(new Date()));
List menuList = service.getMenuList(map);
StringBuffer res = new StringBuffer();
res.append(“”);
if(menuList!=null && menuList.size()>0){
for(MenuName menu :menuList){
res.append(“<=>”);
res.append(menu.getFlightDate());
res.append(“”);
res.append(menu.getRouteName());
}
}
resp.getOutputStream().write(res.toString().getBytes(“utf-8”));
}