分享

fullCalendar 采用Java ajax加载后台日程事件

 风_宇星 2015-04-29

找了半天的资料,都是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: "<%=request.getContextPath()%>/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<String, String> map = new HashMap<String, String>();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  map.put("FLIGHT_TIME", sdf.format(new Date()));
  List<MenuName> 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"));
 }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约