dearsny的专栏

  最近项目中需要一个日程管理的功能,找啊找,先是用的fullcalendar,不知道是人品还是版本问题,,events接受后台JSON参数总是出错,试了许多方法,也没有试出什么结果来。所以果断换到了dhtmlxscheduler,这个插件网上搜索结果较少,我也是自己从官方网站的文档自己慢慢摸索,做了一个不算日程表的日程表。主要是样式这些还没搞懂,对于英文实在缺乏的我感到很吃力。现在已经萌生了重拾英语的想法。闲话不多说,留此文已做记录,免得下次用到无从下手。

  结果是这样的,样式基本没有改动,但功能齐全。springMVC+mysql。

dhtmlscheduler下载地址:

dhtmlscheduler文档地址:

可以删除一些不必要的,只留需要的就可以了。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head><base href="<%=basePath%>"><title>日程管理</title><!–<link rel="stylesheet" type="text/css" href="styles.css">–><!– jquery –><script type="text/javascript" src='<%=basePath %>static/js/jquery/jquery-1.11.0.min.js'></script><script src="${res}/static/js/artDialog/jquery.artDialog.js?skin=default" type="text/javascript"></script><link rel="stylesheet" type="txt/css" href="${res}/static/css/yz.css" /><!– dhtmlscheduler –><script src="<%=basePath %>static/js/dhtmlxscheduler/codebase/dhtmlxscheduler.js" type="text/javascript" charset="utf-8"></script><link rel="stylesheet" href="<%=basePath %>static/js/dhtmlxscheduler/codebase/dhtmlxscheduler.css" type="text/css" media="screen" title="no title" charset="utf-8"><script src="<%=basePath %>static/js/dhtmlxscheduler/codebase/sources/ext/dhtmlxscheduler_minical.js" type="text/javascript"></script><script src="<%=basePath %>static/js/dhtmlxscheduler/codebase/sources/dhtmlxscheduler.js" type="text/javascript"></script><script src="<%=basePath %>static/js/dhtmlxscheduler/codebase/ext/dhtmlxscheduler_minical.js" type="text/javascript"></script><script src="<%=basePath %>static/js/dhtmlxscheduler/codebase/sources/locale/locale_cn.js" type="text/javascript"></script><style type="text/css" media="screen"> html, body{margin:0px;padding:0px;height:100%;overflow:hidden; } </style><script type="text/javascript" charset="utf-8">$(function() {init();$("#dhx_minical_icon").click(show_minical);function init() {scheduler.config.multi_day = true;scheduler.config.drag_move = false;scheduler.config.icons_edit = ['icon_custom', 'icon_save', 'icon_cancel'];scheduler.config.icons_select = ['icon_details', 'icon_delete'];scheduler.config.xml_date="%Y-%m-%d %H:%i";scheduler.init('scheduler_here',new Date(),"month");$.ajax({url: '/calendar/calendar',cache:false,success:function(data) {var events = [];var info = eval(data);for (var i = 0; i < info.length; i++) {var ev = info[i];var title = ev.event;var start = ev.startDate;var end = ev.endDate;var id = ev.pid;//组装日程events.push({id:id,text:title,start_date:start,end_date:end});}scheduler.parse(events, "json");},error:function() {alert('数据错误!');}});/***添加保存事件数据操作*/scheduler.attachEvent("onEventSave",function(id,ev,is_new){if (!ev.text) {alert("描述信息不能为空!");return false;}if(ev.start_date>ev.end_date){alert("开始时间不能在结束时间之后");return false;}var parms = {pid:id,event:ev.text,startDate:ev.start_date,endDate:ev.end_date};$.post("/calendar/add",parms,function(data,status){if(data.result=="SUCCESS"){$.dialog({title: '消息',id: "T90" ,time: 3 ,icon: 'warning' ,content: data.msg,close:function(){$("#loginName").focus();}});}if(data.result=="ERROR"){$.dialog({title: '消息',id: "T90" ,time: 3 ,icon: 'warning' ,content: data.msg ,close:function(){$("#loginName").focus();}});scheduler.deleteEvent(id);}});return true;});/***添加删除事件数据操作*/scheduler.attachEvent("onBeforeEventDelete", function(id,e){var parms = {pid:id};$.post("/calendar/delete",parms,function(data,status){if(data.result=="SUCCESS"){$.dialog({title: '消息',id: "T90" ,time: 3 ,icon: 'warning' ,content: data.msg ,close:function(){$("#loginName").focus();}});}});return true;});/***添加编辑事件数据操作*/scheduler.attachEvent("onEventChanged", function(id,ev){var parms = {pid:id,event:ev.text,startDate:ev.start_date,endDate:ev.end_date};$.post("/calendar/add",parms,function(data,status){if(data.result=="SUCCESS"){$.dialog({title: '消息',id: "T90" ,time: 3 ,icon: 'warning' ,content: data.msg ,close:function(){$("#loginName").focus();}});}});return true;});}//显示迷你日历表function show_minical(){if (scheduler.isCalendarVisible())scheduler.destroyCalendar();elsescheduler.renderCalendar({position:"dhx_minical_icon",date:scheduler._date,navigation:true,handler:function(date,calendar){scheduler.setCurrentView(date);scheduler.destroyCalendar()}});}});</script><body><%@ include file="/WEB-INF/layouts/header.jsp"%> <div id="scheduler_here" class="dhx_cal_container" style='width:100%; height:64%;'><div class="dhx_cal_navline"><div class="dhx_cal_prev_button"> </div><div class="dhx_cal_next_button"> </div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div><div class="dhx_minical_icon" id="dhx_minical_icon"> </div><div class="dhx_cal_tab" name="day_tab" style="right:204px;"></div><div class="dhx_cal_tab" name="week_tab" style="right:140px;"></div><div class="dhx_cal_tab" name="month_tab" style="right:76px;"></div></div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div> </div> <%@ include file="/WEB-INF/layouts/footer.jsp"%></body></html>这是jsp代码,下面是calendarPo.java:package com.glory.learn.po.studentLog;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;import javax.persistence.Temporal;import javax.persistence.TemporalType;import org.codehaus.jackson.map.annotate.JsonSerialize;import com.glory.learn.util.CustomDateSerializer;/** * 日程表 * @param * @param * @return */@Entity@Table(name = "calendar_info")public class CalendarPo {private Integer id;//数据库标识private String pid;//页面IDprivate Integer studentId;//学生Idprivate String event;//事件private Date startDate;//开始时间private Date endDate;//结束时间@Id@Column(name = "id")@GeneratedValue(strategy = GenerationType.AUTO)public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}@Column(name = "pid")public String getPid() {return pid;}public void setPid(String pid) {this.pid = pid;}@Column(name = "studentId")public Integer getStudentId() {return studentId;}public void setStudentId(Integer studentId) {this.studentId = studentId;}@Column(name = "event")public String getEvent() {return event;}public void setEvent(String event) {this.event = event;}@Column(name = "startDate")@Temporal(TemporalType.TIMESTAMP)@JsonSerialize(using = CustomDateSerializer.class)public Date getStartDate() {return startDate;}public void setStartDate(Date startDate) {this.startDate = startDate;}@Column(name = "endDate")@Temporal(TemporalType.TIMESTAMP)@JsonSerialize(using = CustomDateSerializer.class)public Date getEndDate() {return endDate;}public void setEndDate(Date endDate) {this.endDate = endDate;}}都属于昨天。哪怕那山再青,那水再秀,

dearsny的专栏

相关文章:

你感兴趣的文章:

标签云: